【问题标题】:Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 22警告:preg_match() [function.preg-match]:编译失败:在偏移量 22 处没有可重复的内容
【发布时间】:2016-10-20 14:48:29
【问题描述】:

我正在尝试从 url 检查更改 preg_match 检查,但出现此错误

块引用 preg_match_all(): 编译失败:偏移 22 处没有可重复的内容

这是代码:

preg_match_all('#\b(' . $allWordsFromProduct . ')\b#ui', $name, $matches);

【问题讨论】:

  • $allWordsFromProduct 里面是什么?

标签: php regex preg-match-all


【解决方案1】:

可能$allWordsFromProduct 包含特殊的正则表达式字符。你可以试试:

 $allWordsFromProduct = preg_quote($allWordsFromProduct , '#');
 preg_match_all('#\b(' . $allWordsFromProduct . ')\b#ui', $name, $matches);

这会让他们逃脱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 2011-08-21
    • 1970-01-01
    相关资源
    最近更新 更多