如何preg_replace html标签

时间:2016-12-13 19:38:12

标签: php preg-replace

我有这个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");">

3 个答案:

答案 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);