Home > Backend Development > PHP Tutorial > php 正则表达式提取文本中的所有邮箱地址,不是一个邮箱

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

WBOY
Release: 2016-06-06 20:13:51
Original
1364 people have browsed it

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>
Copy after login
Copy after login

目前只能匹配到一个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>
Copy after login
Copy after login

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

问题已解决
应该使用 preg_match_all

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template