ホームページ > バックエンド開発 > PHPチュートリアル > php 正则表达式提取文本中的所有邮箱地址,不是一个邮箱

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

WBOY
リリース: 2016-06-06 20:13:51
オリジナル
1366 人が閲覧しました

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

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート