是否有良好的解决方案可以从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>
是否有正则表达式或某种不同方式从电子邮件正文中提取此电话号码?
谢谢!
答案 0 :(得分:0)
您可以尝试在电子邮件正文中使用preg_match
:
preg_match('~[0-9]+(?=[^"]+"<)~', $body, $number);
此正则表达式依赖于包含电话号码的部分中有引号的事实(否则,您可能会在电子邮件正文中更早出现数字)。如果之前没有数字,您只需使用:
preg_match('~[0-9]+~', $body, $number);