-1

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

我该如何解决?

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

1 回答 1

0

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

当然,你可以用这样的单个语句替换if-else那里的块:return

return !preg_match('/\bscript\+/u', $str)
于 2013-08-31T21:23:18.357 回答