Regex字符串替换和使用PHP拆分


Regex String Replacement and Split using PHP

我在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进行以下操作:

  1. 仅替换src="中的@storage//http://mydomain/folder/
  2. 将所有用户替换为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);

抱歉,无法测试,但应该是正确的。