首先,我应该强调,我试图在这里学习,不是恶意或垃圾邮件。
我试图通过使用以下代码查找电子邮件地址来了解Google搜索结果中的正则表达式。但是,有时它只能找到一些电子邮件地址,有时则根本不会找到。
如果我尝试使用维基百科网址,那么我就不会有问题。
$url = "https://www.google.com/search?q=hello@hotmail.com";
// $url = "http://en.wikipedia.org/wiki/Email_address"; this works fine
$string = file_get_contents($url);
$matches = array();
$pattern = '/[a-z\d._%+-]+@[a-z\d.-]+\.[a-z]{2,4}\b/i';
preg_match_all($pattern,$string,$matches);
foreach ($matches as $row)
{
foreach ($row as $row2)
{
echo $row2."<br>";
}
}
答案 0 :(得分:0)
你错过了大写:
'/[A-Za-z\d._%+-]+@[A-Za-z\d.-]+\.[A-Za-z]{2,4}\b/i'
我把它放在任何地方,以防你想要匹配HELLO@GMAIL.COM,你总是可以将它放在一边。
编辑:我想我正在尝试解决此问题,因为其他电子邮件地址并未匹配编辑2:搜索HTML,那些不工作的人像example<em>@example.com</em>
那样强调,所以不会解析。