首页 >后端开发 >php教程 >php 正则表达式提取文本中的所有邮箱地址,不是一个邮箱

php 正则表达式提取文本中的所有邮箱地址,不是一个邮箱

WBOY
WBOY原创
2016-06-06 20:13:511344浏览

php 提取文本中的所有邮箱地址,或者一个字符串中的所有邮箱地址
例如我的文本是:
汉字的是scdd test001@qq.com asda test002@qq.com 你后am test009@aa.com
匹配的结果应该是
test001@qq.com
test002@qq.com
test009@aa.com
我的代码如下;

<code><?php $str = '汉字的是scdd test001@qq.com asda test002@qq.com 你后am test009@aa.com ';
$preg = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)+/i";
if (preg_match($preg, $str , $matches)) {
    print_r($matches);
}</code></code>

目前只能匹配到一个Email地址 test001@qq.com ,其他2个目前匹配不到,,,,,要使用贪婪模式匹配吗?
请指教!!

回复内容:

php 提取文本中的所有邮箱地址,或者一个字符串中的所有邮箱地址
例如我的文本是:
汉字的是scdd test001@qq.com asda test002@qq.com 你后am test009@aa.com
匹配的结果应该是
test001@qq.com
test002@qq.com
test009@aa.com
我的代码如下;

<code><?php $str = '汉字的是scdd test001@qq.com asda test002@qq.com 你后am test009@aa.com ';
$preg = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)+/i";
if (preg_match($preg, $str , $matches)) {
    print_r($matches);
}</code></code>

目前只能匹配到一个Email地址 test001@qq.com ,其他2个目前匹配不到,,,,,要使用贪婪模式匹配吗?
请指教!!

问题已解决
应该使用 preg_match_all

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn