警告:preg_Match()[unction.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, '/');
其中'/'
是正则表达式中的分隔符。
相关文章