PHP:仅从可能的邮件中删除电子邮件地址<&燃气轮机';s

PHP:仅从可能的邮件中删除电子邮件地址<&燃气轮机';s,php,regex,preg-replace,strip,Php,Regex,Preg Replace,Strip,我需要一点帮助,仅从可能包含的括号中获取电子邮件地址 例如,我有以下3个字符串,我需要每个字符串只返回电子邮件地址: darth@vader.com "Darth Vader" <darth@vader.com> "Darth Vader" <darth@vader.com> "Possible additional text" (Shouldn't be here but I need to make sure the regex gets rid of it an

我需要一点帮助,仅从可能包含的括号中获取电子邮件地址

例如,我有以下3个字符串,我需要每个字符串只返回电子邮件地址:

darth@vader.com

"Darth Vader" <darth@vader.com>

"Darth Vader" <darth@vader.com> "Possible additional text" (Shouldn't be here but I need to make sure the regex gets rid of it anyway just in case.)
darth@vader.com
“达斯维德”
“Darth Vader”“可能的附加文本”(不应该在这里,但我需要确保正则表达式无论如何都会删除它,以防万一。)

在每一个方面,我都希望$email与之相等darth@vader.com

只匹配有效的电子邮件地址怎么样?我们用于检查有效性的正则表达式是:

/(([a-z0-9!#$%&*+-=?^_`{|}~][a-z0-9!#$%&*+-=?^_`{|}~.]*[a-z0-9!#$%&*+-=?^_`{|}~])|[a-z0-9!#$%&*+-?^_`{|}~]|("[^"]+"))\@([-a-z0-9]+\.)+(com|net|edu|org|gov|mil|int|biz|pro|info|arpa|aero|coop|name|museum|co|co\.uk)/img
()

或者这里有一个完全是TLD不可知论的:

/(([a-z0-9&*\+\-\=\?^_`{|\}~][a-z0-9!#$%&*+-=?^_`{|}~.]*[a-z0-9!#$%&*+-=?^_`{|}~])|[a-z0-9!#$%&*+-?^_`{|}~]|("[^"]+"))\@([-a-z0-9]+\.)+([a-z]{2,})/img
()


其中一个应该适用于您正在寻找的内容,并且应该涵盖大多数情况。

只匹配有效的电子邮件地址如何?我们用于检查有效性的正则表达式是:

/(([a-z0-9!#$%&*+-=?^_`{|}~][a-z0-9!#$%&*+-=?^_`{|}~.]*[a-z0-9!#$%&*+-=?^_`{|}~])|[a-z0-9!#$%&*+-?^_`{|}~]|("[^"]+"))\@([-a-z0-9]+\.)+(com|net|edu|org|gov|mil|int|biz|pro|info|arpa|aero|coop|name|museum|co|co\.uk)/img
()

或者这里有一个完全是TLD不可知论的:

/(([a-z0-9&*\+\-\=\?^_`{|\}~][a-z0-9!#$%&*+-=?^_`{|}~.]*[a-z0-9!#$%&*+-=?^_`{|}~])|[a-z0-9!#$%&*+-?^_`{|}~]|("[^"]+"))\@([-a-z0-9]+\.)+([a-z]{2,})/img
()


其中一个应该适用于您所寻找的,并且应该涵盖大多数情况。

Jimmy,感谢您的快速响应。我想要的是我理想中永远不会改变的东西。您给出的示例(我认为)标识了所有当前的电子邮件扩展。一个问题是,域扩展现在已被清除为几乎无限的。因此,这将彻底破坏上述正则表达式。我更喜欢抓取的东西和任何外部的东西,并删除它。你当然可以修改我发布的内容,不检查有效的TLD,而只是检查TLD,你知道,就在那里。哈哈。我举了一个例子。吉米,你的第二个重新填充链接中的那一个几乎完美,但它仍然包括左侧<你能告诉我如何摆脱那一个吗?是的,现在试试。需要摆脱一些符号。吉米,你知道我如何在赛前比赛中使用这些符号吗?我尝试了几种方法,但我的变量总是以空结束。下面是我一直在讨论的问题:吉米,谢谢你的快速回复。我想要的是我理想中永远不会改变的东西。您给出的示例(我认为)标识了所有当前的电子邮件扩展。一个问题是,域扩展现在已被清除为几乎无限的。因此,这将彻底破坏上述正则表达式。我更喜欢抓取的东西和任何外部的东西,并删除它。你当然可以修改我发布的内容,不检查有效的TLD,而只是检查TLD,你知道,就在那里。哈哈。我举了一个例子。吉米,你的第二个重新填充链接中的那一个几乎完美,但它仍然包括左侧<你能告诉我如何摆脱那一个吗?是的,现在试试。需要摆脱一些符号。吉米,你知道我如何在赛前比赛中使用这些符号吗?我尝试了几种方法,但我的变量总是以空结束。下面是我一直在做的事情:例3