加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 用于提取mailto:地址的Regexp

发布时间:2021-07-06 05:22:26 所属栏目:大数据 来源: https://www.jb51.cc
导读:我想要一个reg exp,它可以获取一个字符串块,并找到匹配格式的字符串: a href="mailto:x@x.com"..../a 对于匹配此格式的所有字符串,它将提取mailto:之后找到的电子邮件地址.有什么想法吗? 这是内部应用程序所必需的,而不是任何垃圾邮件发送者的目的! 解决

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

<a href="mailto:x@x.com">....</a>

对于匹配此格式的所有字符串,它将提取mailto:之后找到的电子邮件地址.有什么想法吗?

这是内部应用程序所必需的,而不是任何垃圾邮件发送者的目的!

解决方法:

如果你想匹配整个事情:

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

要紧张和缩短它:

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

第二个匹配组将是它的任何电子邮件.

例:

$html ='<div><a href="mailto:test@live.com">test</a></div>';

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

输出:

array(1) {
  [0]=>
  array(5) {
    [0]=>
    string(39) "test"
    [1]=>
    string(1) " "
    [2]=>
    string(13) "test@live.com"
    [3]=>
    string(0) ""
    [4]=>
    string(4) "test"
  }
}

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读