【发布时间】:2026-01-12 12:20:03
【问题描述】:
我正在从 w3schools PHP 教程学习 PHP。
在关于 PHP 过滤器的一章中,我遇到了以下程序:
<!DOCTYPE html>
<html>
<body>
<?php
$email = "john.doe@example.com";
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address");
} else {
echo("$email is not a valid email address");
}
?>
</body>
</html>
w3schools 是说 filter_var() 函数用于首先从 $email 变量中删除所有非法字符,然后检查它是否是有效的电子邮件地址。
然后我尝试将变量 $email 的值设置为 "john.doe@exampleW#%%%%%.com" 并尝试按如下方式打印该值:
<!DOCTYPE html>
<html>
<body>
<?php
$email = "john.doe@exampleW#%%%%%.com";
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
echo "Echoed Email : ".$email; die;
?>
</body>
</html>
我得到的上述程序的输出是我输入的字符串 "john.doe@exampleW#%%%%%.com"。
我的问题是为什么根据 w3schools 没有删除给定无效电子邮件中的无效字符?
【问题讨论】:
-
人们还在使用 w3fools.com?
标签: php email filter email-validation