【发布时间】:2014-08-07 17:33:30
【问题描述】:
谁能告诉我为什么 1(黑名单)不会抛出意外的结束错误而 2(白名单)会? 1 没有过滤掉所有特殊字符,所以我想使用白名单方法。我得到的错误似乎与语法有关,但我无法发现它。感谢您帮助结束我的痛苦。
php
(1)
if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $posteduid))
{
$error = "You may not use special characters in your username";
}
(2)
if (!preg_match("#^[a-zA-Z0-9]+$#", $posteduid))
{
$error = "You may not use special characters in your username";
}
错误信息:
Parse error: syntax error, unexpected $end in /.../join.php on line 346
【问题讨论】:
-
您输入的示例是什么。
-
user# 将是我想要过滤掉的东西。然而,页面在给它任何输入之前就会抛出一个错误。
-
这个正则表达式没有错
-
到底是什么错误?你能用它编辑你的帖子吗?
-
当我注释掉 1 并使用 2 时,它会抛出错误。当我注释掉 2 并使用 1 时,没有错误。错误消息中提到的意外结束位于文档的最后,因此似乎有些东西从左大括号和右大括号中脱落...