-1

从 Gmail 电子邮件正文中获取真实电话号码是否有很好的解决方案?我试图通过 IMAP 获取电子邮件,但 html 结果并不是真正可解析的。

我的代码:

$message = imap_fetchbody($inbox,$emails,1);

身体结果是:

示例 1:

 bla-bla-bla
 <strong>TEXT</strong>
 " : +22545091040"
 <br />
 bla-bla-bla

示例 2:

bla-bla-bla
<strong>TEXT</strong>
" : 0980653935 France"
<br />
bla-bla-bla

所有电子邮件都具有以下结构:

 Bonjour,<br><br>Voici le numéro de téléphone de <strong>*NAME*</strong> : *INPUT1 DATA*<br>
 <br>Son adresse email est la suivante : *INPUT2 DATA*<br>

是否有正则表达式或其他方法可以从电子邮件正文中提取此电话号码?

谢谢!

4

1 回答 1

0

您可以尝试preg_match在电子邮件正文中使用:

preg_match('~[0-9]+(?=[^"]+"<)~', $body, $number);

正则表达式 101 演示

此正则表达式依赖于包含电话号码的部分中有引号这一事实(否则,您可能会在电子邮件正文中更早地获得数字)。如果前面没有数字,您可以简单地使用:

preg_match('~[0-9]+~', $body, $number);
于 2013-09-16T10:31:31.397 回答