moc*_*chj 5 php compilation preg-match
非常感谢一些帮助.我的主机服务器端更新导致我的评论表格抛出两个验证错误.第一个是:preg_match()返回警告:preg_match()[function.preg-match]:编译失败:在[脚本位置此处和行错误]中的偏移13处的字符类中的范围乱序 - 第二个是在主题检查处抵消14.
它在电子邮件地址检查中执行此操作:
if (preg_match('/[^a-zA-Z0-9_-.]/', $_POST['txtEmail']))
Run Code Online (Sandbox Code Playgroud)
和主题检查:
if (preg_match('/[^a-zA-Z0-9:?-. ]/', $_POST['txtSubject']))
Run Code Online (Sandbox Code Playgroud)
我不熟悉PHP,但可以剪切和粘贴!我的网站是frowey.com,这是联系我们的评论表,在托管操作系统更新后开始抛出错误.提前致谢.
你需要逃避-减号.它具有特殊含义的字符类,如错误消息提示.在减号前使用反斜杠:
preg_match('/[^a-zA-Z0-9_\-.]/'
Run Code Online (Sandbox Code Playgroud)
(或者,它-可能是字符组中的第一个或最后一个,所以它失去了它的特殊功能.)
小智 1
if (preg_match('/[^a-zA-Z0-9_\.-]/', $_POST['txtEmail']))
if (preg_match('/[^a-zA-Z0-9:\?\.-]/', $_POST['txtSubject']))
Run Code Online (Sandbox Code Playgroud)