我正在尝试替换代码中的第一个字符串
$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>
答案 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);