从邮箱字符串获取电子邮件地址

mat*_*thy 7 php regex email

我需要从这个邮箱字符串中提取电子邮件地址.我想到了,str_replace但显示名称和电子邮件地址不是静态的,所以我不知道如何使用正则表达式.

示例:" My name <email@example.com>"应导致" email@example.com".

有任何想法吗?

谢谢Matthy

Gum*_*mbo 15

您可以imap_rfc822_parse_adrlist用来解析该地址:

$addresses = imap_rfc822_parse_adrlist('My name <email@gmail.com>');
Run Code Online (Sandbox Code Playgroud)

  • PHP通过一系列令人惊叹的功能来拯救这一天.:) (3认同)

Cra*_*ent 5

面值,以下将起作用:

preg_match('~<([^>]+)>~',$string,$match);
Run Code Online (Sandbox Code Playgroud)

但我怀疑你需要比这更好的东西.有大量的"官方"电子邮件正则表达式模式,你应该更具体地说明匹配的上下文和规则.