删除 PHP 中无效的电子邮件格式

发布于 2024-11-02 11:27:42 字数 518 浏览 0 评论 0 原文

Array (
    [0] => [email protected]
    [1] => [email protected]
    [2] => invalidEmail.com
)

请注意,第三个数组值是无效的电子邮件格式。如何通过使用/创建函数来删除它?在使用 mail() 函数发送电子邮件之前,我需要有效的电子邮件implode("," the valid email)

Array (
    [0] => [email protected]
    [1] => [email protected]
    [2] => invalidEmail.com
)

Notice that the third array value is invalid email format. How do I remove it by using/creating a function? I need the valid email to implode("," the valid email) before sending an email using the mail() function.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

葬花如无物 2024-11-09 11:27:42
$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); });
$valid = array_filter($emails, create_function('$s', 'return filter_var($s, FILTER_VALIDATE_EMAIL);'));

Or for PHP 5.3+:

$valid = array_filter($emails, function ($s) { return filter_var($s, FILTER_VALIDATE_EMAIL); });
怼怹恏 2024-11-09 11:27:42
<?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];
?>
<?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];
?>
谈场末日恋爱 2024-11-09 11:27:42

基本解决方案很简单,不需要正则表达式

  $isvalid = filter_var('[email protected]', FILTER_VALIDATE_EMAIL));

但是......

一行解决方案不存在(使用正则表达式或其他东西)。

要了解有关有效电子邮件地址的更多信息,请参阅以下参考资料。

参考文献:

一些有效的示例是:

  • 甲斐@黒川.日本
  • Rδοκιμή@παράδειγμα
  • Pelé@example.com
  • jsmith@[192.168.2.1]
  • abc@[电子邮件受保护]

这些地址不符合 RFC 5322 标准,但它们仍然是 有效的。

即使您验证某些地址正确,也无法保证您的电子邮件服务器会接受它们。

Basic solution is simple and doesn't require regex

  $isvalid = filter_var('[email protected]', FILTER_VALIDATE_EMAIL));

But...

One line solution just doesn't exist (using regex or something else).

To learn more about valid e-mail addresses, follow references below.

References:

Some valid examples are:

  • 甲斐@黒川.日本
  • Rδοκιμή@παράδειγμα
  • Pelé@example.com
  • jsmith@[192.168.2.1]
  • abc@[email protected]

Those addreses are not compilant with RFC 5322 standard, but they are still valid.

Even you validate some addresses as correct, nothing can guarantee that your e-mail server will accept them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文