Php 用于提取mailto:地址的Regexp

Php 用于提取mailto:地址的Regexp,php,regex,string,text-extraction,Php,Regex,String,Text Extraction,我想要一个reg exp,它可以获取一个字符串块,并找到与格式匹配的字符串: <a href="mailto:x@x.com">....</a> 对于与此格式匹配的所有字符串,它将提取在mailto之后找到的电子邮件地址:。有什么想法吗 这是需要一个内部应用程序,而不是任何垃圾邮件的目的 网络上有很多不同的选项 一个例子是: \b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b mailto:是一个很简单的例子。有很多不同的选项

我想要一个reg exp,它可以获取一个字符串块,并找到与格式匹配的字符串:

<a href="mailto:x@x.com">....</a>
对于与此格式匹配的所有字符串,它将提取在mailto之后找到的电子邮件地址:。有什么想法吗


这是需要一个内部应用程序,而不是任何垃圾邮件的目的

网络上有很多不同的选项

一个例子是:

\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b

mailto:是一个很简单的例子。

有很多不同的选项

/(mailto:)(.+)(\")/
一个例子是:

\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b
邮递员:这是微不足道的

/(mailto:)(.+)(\")/
第二个匹配组是电子邮件地址


第二个匹配组是电子邮件地址。

您可以使用内部PHP筛选器

他们有一个专门用于验证或清理电子邮件->过滤\u验证\u电子邮件


问候

您可以使用内部PHP过滤器

他们有一个专门用于验证或清理电子邮件->过滤\u验证\u电子邮件


如果您想从以下位置匹配整个内容,请问候:

$r = '`\<a([^>]+)href\=\"mailto\:([^">]+)\"([^>]*)\>(.*?)\<\/a\>`ism';
preg_match_all($r,$html, $matches, PREG_SET_ORDER);

如果您希望从以下位置匹配整个内容:

$r = '`\<a([^>]+)href\=\"mailto\:([^">]+)\"([^>]*)\>(.*?)\<\/a\>`ism';
preg_match_all($r,$html, $matches, PREG_SET_ORDER);
对我来说很有效~~ 将返回包含找到的元素的数组。 在这里您可以测试它:

为我工作~~ 将返回包含找到的元素的数组。
您可以在这里进行测试:

此正则表达式只匹配大写字母,因此请确保在此正则表达式中使用大小写不敏感标志。或者,考虑将小写字母添加到ReGEX中。您可以准备Mayto:以及ASAPH提出的情况不敏感开关吗?我不熟悉regexp语法,所以我自己也无法修复它,即使它的大小写这个正则表达式只匹配大写字母,所以请确保在这个正则表达式中使用不区分大小写的标志。或者,考虑将小写字母添加到ReGEX中。您可以准备Mayto:以及ASAPH提出的情况不敏感开关吗?我不熟悉regexp语法,所以即使它很小,我也无法自己修复它。我应该使用哪个函数,preg_match?我应该使用哪个函数,preg_match?如何允许提取电子邮件?如何允许提取电子邮件?