Php替换html输出中的字符串

时间:2015-01-24 11:50:04

标签: php wordpress

我正在尝试替换代码中的第一个字符串

$confirmation_message = apply_filters("pmpro_confirmation_message",  $confirmation_message, false);
    $confirmation_message = preg_replace('mysite.com', 'mysite.com?true', $str, 1);
    echo $confirmation_message;

但它给了我一个奇怪的错误

   Delimiter must not be alphanumeric or backslash line

这是$ confirmation_message

的原始输出
   <p><font><font class="">Visit your new site here: </font></font><a href="mysite.com/"><font><font class="">mysite.com</font></font></a></p>

  <p><font><font class="">Manage your new site here: </font></font><a href="mysite.com/wp-admin/"><font><font class="">mysite.com/admin</font></font></a></p>

1 个答案:

答案 0 :(得分:1)

正如@Piotr Olaszewski评论的那样,你需要在模式中添加分隔符。

$confirmation_message = preg_replace('/mysite\.com/', 'mysite.com?true', $confirmation_message, 1);

注意模式中的转义点。

如果您想要替换 mysite.com 所有次出现,您可以使用str_replace来获得更好的效果:

$confirmation_message = str_replace('mysite.com', 'mysite.com?true', $confirmation_message);