Array (
[0] => myemail@domain.com
[1] => mysecondemail@domain.com
[2] => invalidEmail.com
)
请注意,第三个数组值是无效的电子邮件格式。如何使用/创建功能将其删除?在使用implode("," the valid email)
功能发送电子邮件之前,我需要有效的电子邮件mail()
。
答案 0 :(得分:9)
$valid = array_filter($emails, create_function('$s', 'return filter_var($s, FILTER_VALIDATE_EMAIL);'));
或者对于PHP 5.3 +:
$valid = array_filter($emails, function ($s) { return filter_var($s, FILTER_VALIDATE_EMAIL); });
答案 1 :(得分:2)
<?php
$len=count($array);
for ($i=0;$i<$len;$i++)
if (preg_match('^[a-z0-9!#$%&*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+(?:[a-z]{2,4}|museum|travel)$/i',$array[$i]))
echo $array[$i];
?>
答案 2 :(得分:1)
基本解决方案很简单,不需要正则表达式
$isvalid = filter_var('myname@anydomain.com', FILTER_VALIDATE_EMAIL));
但是...
要了解有关有效电子邮件地址的详情,请参阅以下参考资料。
<强>参考文献:强>
一些有效的例子是:
这些地址不符合RFC 5322标准,但它们仍然有效。
即使您将某些地址验证为正确,也无法保证您的电子邮件服务器会接受它们。