我在PHP中有一个示例字符串:
$var = 'lurm limsrh domw en wonf src="@storage//user1/path/file.txt" and any lorm lipsm tjp quor it src="@storage//user2/path/file.txt" utt fine @storage// no chnge';
我想要使用PHP进行以下操作:
- 仅替换src="到中的@storage//http://mydomain/folder/
- 将所有用户替换为md5(user);。用户名必须位于@storage//之后,即位于'@storage//'和下一个'/'之间。也只替换src="中的那些
我可以使用哪一个正则表达式?
$url = 'http://mydomain/folder/';
$var = preg_replace_callback('/(.*?'bsrc)'s*='s*"'s*@storage'/'/([^'/]+)([^"]+?)'s*"/s', function($matches) use ($url) {
return $matches[1] . '="' . $url . md5($matches[2]) . $matches[3] . '"';
}, $var);
抱歉,无法测试,但应该是正确的。