使用 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进行以下操作:
- 仅将 @storage// 替换为 src="" 到 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);
抱歉,无法测试,但应该是正确的。
我在 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进行以下操作:
- 仅将 @storage// 替换为 src="" 到 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);
抱歉,无法测试,但应该是正确的。