我有这个PHP
字符串
$str = '<span class="_21wk" style="background-image: url("/images/facebookEmojis/smileys/1f621.png");">';
我想替换类和url所以我这样做了
$home = 'https://my-site.com';
$text = preg_replace('/<span class="_21wk" style="background-image: url("(.*?)");">/', '<span class="tinx" style="background-image: url("'.$home.'$1");">', $str);
但它不起作用。我希望在替换时有这个
<span class="tinx" style="background-image: url("https://my-site.com/images/facebookEmojis/smileys/1f621.png");">
答案 0 :(得分:0)
如果您无法使用正则表达式,请尝试不要使用它:P
$str = str_replace('/images', $home . "/images");
$str = str_replace('_21wk', $home . "tinx");
答案 1 :(得分:0)
如果我正确阅读了你需要的东西,str_replace可以正常工作而不需要声明其他变量
$str = '<span class="_21wk" style="background-image: url("/images/facebookEmojis/smileys/1f621.png");">';
$str = str_replace('_21wk','tinx',$str);
$str = str_replace('/images','https://my-site.com/images',$str);
答案 2 :(得分:-1)
您只是忘了逃避正则表达式中的括号字符,即url\(...\)
而不是url(...)
:
$text = preg_replace('/<span class="_21wk" style="background-image: url\("(.*?)"\);">/', '<span class="tinx" style="background-image: url("'.$home.'$1");">', $str);