首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP5.2 preg_match()编译失败

PHP5.2 preg_match()编译失败
EN

Stack Overflow用户
提问于 2011-10-22 19:16:25
回答 2查看 6.6K关注 0票数 5

会非常感谢你的帮助。我的主机服务器端更新导致我的评论表单抛出两个验证错误。第一个是: preg_match()返回警告: preg_match()函数。here match:编译失败:在脚本位置的偏移量13处的字符类中的范围无序,在这里的代码行error - second在偏移量14处的主题检查中。

它在电子邮件地址检查时执行此操作:

代码语言:javascript
复制
if (preg_match('/[^a-zA-Z0-9_-.]/', $_POST['txtEmail']))

和主题检查:

代码语言:javascript
复制
if (preg_match('/[^a-zA-Z0-9:?-. ]/', $_POST['txtSubject']))

我不熟悉PHP,但可以剪切和粘贴!我的网站的frowey.com和联系我们的评论表单在托管操作系统更新后开始抛出错误。提前谢谢。

EN

Stack Overflow用户

发布于 2011-10-22 19:24:44

您需要避开-减号。正如错误消息提示的那样,它对字符类有特殊的意义。在减号前使用反斜杠:

代码语言:javascript
复制
preg_match('/[^a-zA-Z0-9_\-.]/'

(或者,-可能是字符组中的第一个或最后一个对象,因此它将失去其特殊功能。)

票数 9
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7859102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档