PHP爬行获取电子邮件模式
可能的重复:
用于提取 mailto: 地址的正则表达式
我想获取带有页面的电子邮件通过以下脚本,但我不确定 preg_match_all 中使用的模式。
$original_file = file_get_contents("http://www.example.com/");
$stripped_file = strip_tags($original_file, "<a>");
preg_match_all("/<a(?:[^>]*)href=\"([^\"]*)\"(?:[^>]*)>(?:[^<]*)<\/a>/is", $stripped_file, $matches);
header("Content-type: text/plain");
print_r($matches); //View the array to see if it worked
Possible Duplicate:
Regexp for extracting a mailto: address
I want to fetch the emails withing a page through the following scrip, but i am not sure about the pattern to use in preg_match_all.
$original_file = file_get_contents("http://www.example.com/");
$stripped_file = strip_tags($original_file, "<a>");
preg_match_all("/<a(?:[^>]*)href=\"([^\"]*)\"(?:[^>]*)>(?:[^<]*)<\/a>/is", $stripped_file, $matches);
header("Content-type: text/plain");
print_r($matches); //View the array to see if it worked
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能会更幸运地使用 HTML 解析器,例如 PHP Simple HTML Dom Parser,它可以让您解析 HTML 文档以更自然的方式,例如:
然后循环返回元素的数组并检查
href
中是否有类似 @ 符号的内容。You might have more luck using an HTML parser such as PHP Simple HTML Dom Parser which will let you parse the HTML document in a more natural way such as:
Then loop through the array of returned elements and check the
href
for something like the @ symbol.编辑:我刚刚意识到你的意思是 mailto: links
在这里回答:
用于提取 mailto: 地址的正则表达式
Edit: I've just realised you meant mailto: links
Answer here:
Regexp for extracting a mailto: address