PHP正则表达式忽略除字母之外的所有符号

时间:2013-08-31 21:18:51

标签: php regex preg-match

如果$ str不包含'script +',我试图返回true。 它只阻止'脚本',但不阻止'脚本+'......

我该如何解决?

if (!preg_match('/[\bscript+\b]/u', $str))
return true;
else
return false;

1 个答案:

答案 0 :(得分:0)

您正在使用一个只匹配单个字符的字符类。你应该删除它。在\b之后使用+毫无意义,因为+不是一个词。你也应该删除它。然后转义字符类外的+,因为它是正则表达式中的元字符。

当然,您可以使用单个if-else语句替换那里的return块,如下所示:

return !preg_match('/\bscript\+/u', $str)