警告:preg_Match()[unction.preg-Match]:未知修饰符

2022-03-29 00:00:00 php preg-match

我收到此错误...

警告:preg_Match()[unction.preg-Match]:第147行C:Path-to-plugin.php中的未知修饰符"%1"

当我运行关键字"测试$2/1测试+单词!"通过下面的函数

function my_get_kw_in_content($theKeyword, $theContent)
    {
//ERROR OCCURS NEXT LINE
    return preg_match('/' . $theKeyword . '/i', $theContent);
    }

我假设我需要清理关键字以转义"/"字符(可能还有更多)。如果您有任何建议,请在运行preg_Match之前对字符串进行清理,我将不胜感激。

更新: 这似乎很有效,这要归功于泰语:

function my_get_kw_in_content($theKeyword, $theContent)
    {
    $theKeyword = preg_quote($theKeyword, '/');
    return preg_match('/' . $theKeyword . '/i', $theContent);
    }

解决方案

使用preg_quote引用正则表达式字符。

这样:

preg_quote($theKeyword, '/');

其中'/'是正则表达式中的分隔符。

相关文章