我很困惑(并且对正则表达式不好)。
我(在我的php文件中):
if ( !preg_match ("/^[a-zA-Z\s]+$/",$string)) {
$valid = False;
}
这假设只允许字母和空格,但是当有'&'时或者允许的字符串中的“+”。
任何人都可以帮助我吗?
答案 0 :(得分:0)
您是否检查过该字符串是否包含“+”或“&”回应它。
如果您在此网站上测试正则表达式:http://www.phpliveregex.com/ 它与+或&匹配,所以你的正则表达式是正确的,只需看看你的输入。
答案 1 :(得分:-1)
巨大的巨大幽灵般的黑暗射击在这里,但我会猜测$string = $_GET['test'];
并且你正在访问如下内容:
http://example.com/regex.php?test=Fail+
http://example.com/regex.php?test=FAIL&
等等。在这种情况下,请注意+
被解码为\s
允许的空格。 &
分隔参数,因此如果您var_dump($string)
,则不会显示。