Php 与';[';在quadodo登录系统中
我完全不明白这一点:Php 与';[';在quadodo登录系统中,php,Php,我完全不明白这一点: $email = (isset($_POST['email']) && preg_match('@^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$@', $_POST['email']) && strlen($_POST['email']) <= 255 && strlen($_POST['email']) > 6) ? $_
$email = (isset($_POST['email']) && preg_match('@^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$@', $_POST['email']) && strlen($_POST['email']) <= 255 && strlen($_POST['email']) > 6) ? $_POST['email'] : false;
我已经看过了网站上的实际功能网页
如果有人能帮上忙,那就太棒了!好的,试试这个:
$email = (isset($_POST['email']) && preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i', $_POST['email']) && strlen($_POST['email']) <= 255 && strlen($_POST['email']) > 6) ? $_POST['email'] : false;
$email=(isset($[u POST['email'])和preg\u match('/^[u a-z0-9-]+(\.[u a-z0-9-])*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i',$[u POST['email'])和斯特伦($[u POST['email'])6)$[u POST[];
问题在于,您正在使用@
作为正则表达式分隔符,并在正则表达式中使用@
,而不转义它
你的正则表达式:
#^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$#
+1感谢你解释问题所在,尽管其他人对你投了反对票。感谢你,我完全被难倒了,现在我觉得自己像个白痴,尽管XD如果你有php>=5.2,请使用
filter\u var($\u POST['email',filter\u VALIDATE\u email)
#^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$#