[英]Get email address from mailbox string
我需要从这个邮箱字符串中提取电子邮件地址。 我想到str_replace
但显示名称和电子邮件地址不是静态的,所以我不知道如何使用正则表达式来做到这一点。
示例:“ My name <email@example.com>
”应生成“ email@example.com
”。
有任何想法吗?
谢谢Matthy
您可以使用imap_rfc822_parse_adrlist
来解析该地址:
$addresses = imap_rfc822_parse_adrlist('My name <email@gmail.com>');
面值,以下将起作用:
preg_match('~<([^>]+)>~',$string,$match);
但我怀疑你需要比这更好的东西。 有大量的“官方”电子邮件正则表达式模式,你应该更具体地说明匹配的上下文和规则。
或查找正则表达式(preg_match)。
类似于:[^ <] <([^>] )>;
我来自一个时间,从正规用途的项目到昂贵的简单字符串提取。
$s = 'My name <email@gmail.com>';
$s = substr(($s = substr($s, (strpos($s, '<')+1))), 0, strrpos($s, '>'));
结果是
email@gmail.com
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.