如果您肯定想要使用“负正则表达式”而不是简单地反转正正则表达式的结果,则可以执行此操作:
if(preg_match("/^(?:(?!" . $filter . ").)*$/i", $node)) {
echo $node;
}
如果字符串不包含$filter中的正则表达式/子字符串,则匹配该字符串.
说明:(上任作为我们的示例字符串)
^ # Anchor the match at the start of the string
(?: # Try to match the following:
(?! # (unless it's possible to match
office # the text "office" at this point)
) # (end of negative lookahead),
. # Any character
)* # zero or more times
$ # until the end of the string