Preg_replace 出现错误 [重复]

Posted

技术标签:

【中文标题】Preg_replace 出现错误 [重复]【英文标题】:Preg replace etting error [duplicate] 【发布时间】:2018-02-24 12:31:45 【问题描述】:

preg 替换时出现错误。

这是我的代码

$search='+5DR';
$replace='5';
$tempString='1.2 EASY +5DR';
echo $tempString = preg_replace('~\b('. $search.')\b~', $replace, $tempString);

错误详情

<br />
<b>Warning</b>:  preg_replace(): 
Compilation failed: nothing to repeat at 
offset 3 in <b>[...][...]</b> on line <b>6</b><br />

【问题讨论】:

如果您需要检查固定字符串,您应该考虑使用str_replace 【参考方案1】:

+ 是一个保留的 preg 操作符,因此如果它是掩码的一部分,它应该被正确地转义。

$search=preg_quote('+5DR');

见http://php.net/manual/en/function.preg-quote.php

【讨论】:

以上是关于Preg_replace 出现错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

用 preg_replace 匹配重复的空格

Ecshop如何解决Deprecated: preg_replace()报错

mysql内部的preg_replace不能在循环php之外打印[重复]

使用 preg_replace 处理巨大的 xml 文件 [重复]

我可以使用 preg_replace 在多行模式下去除尾随 \n 吗?

将preg_replace()改写为preg_replace_callback()