以下代码返回我使用的任何$ name变量的匹配项。有人会介意解释为什么和必要的纠正吗?谢谢!
$name = 'Johns Donuts';
if (preg_match("/INTERNAL USE ONLY | /",$name) ==1 ) {
echo 'I match internal use only: '.$name.'';
} else {
echo 'I DONT match internal use only: '.$name.'';
}
答案 0 :(得分:2)
问题出在管道字符中,如果内存正确供应,则实际上是“或”运算符。鉴于另一边是一个空格,它匹配你的字符串中的某个地方。
解决方案:用反斜杠逃避它。