警告:preg_match()[function.preg-match]:未知的修饰符

时间:2011-03-07 04:50:39

标签: php preg-match

我收到了这个错误...

警告:preg_match()[function.preg-match]:第147行的C:\ path-to-plugin.php中的未知修饰符'1'

当我运行关键字“Test $ 2/1 test + word!”时通过以下功能

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

我假设我需要清理关键字以逃避“/”字符(可能还有更多)。我很感激你在通过preg_match运行字符串之前要清理字符串的任何建议。

更新: 这似乎与泰语有关:

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

1 个答案:

答案 0 :(得分:6)

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

像这样:

preg_quote($theKeyword, '/');

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