php正则表达式:如何获取段落中的所有电子邮件地址
我想获取一段中的所有电子邮件地址。你能帮帮我吗 非常感谢试试这个: 正则表达式:php正则表达式:如何获取段落中的所有电子邮件地址,php,regex,email-address,Php,Regex,Email Address,我想获取一段中的所有电子邮件地址。你能帮帮我吗 非常感谢试试这个: 正则表达式:/[-.\w]+@[-.\w]+/i您可以使用该函数。语法如下所示: //Filter our the email addresses and store it in $emails preg_match($regexp,$text,$emails); //Print out the array of emails print_r($emails); 其中: $regexp是电子邮件的正则表达式 $text是文
/[-.\w]+@[-.\w]+/i
您可以使用该函数。语法如下所示:
//Filter our the email addresses and store it in $emails
preg_match($regexp,$text,$emails);
//Print out the array of emails
print_r($emails);
其中:
- $regexp是电子邮件的正则表达式
- $text是文本的段落
- $emails是电子邮件地址的输出数组
另外,我希望您不打算以某种方式使用此邮件发送垃圾邮件。正如其他人所建议的,请在您的问题上投入更多精力 下面是一个非常基本的实现。它确实忽略了一些电子邮件类型,但是嘿,这和你投入的精力是一样的
$matches = preg_match_all(
"/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i",
$text,
$emails
);
$text
是您的段落。
$emails
是匹配值的数组 在此处查找电子邮件正则表达式:
它甚至有支持电子邮件正则表达式的“官方标准:RFC2822”。
<?php
$paragraph="this is test abc@dd.com nobody@dd.co.jp testing";
$pattern="/([\s]*)([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*([ ]+|)@([ ]+|)([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,}))([\s]*)/i"; preg_match_all($pattern, $paragraph, $matches);
print_r($matches[0]);
?>
添加regex标记,您将得到其他响应。如果您表明自己已经做出了努力,您可能也会得到更好的响应。这并不是对SO的严格要求,但如果人们觉得他们在帮助您,通常会更愿意回答,而不是用勺子喂您。这是Perl风格的正则表达式,但它确实让您了解了复杂性-。Hoever是一个更实际的开始。这太普通了,会捕捉到“呼叫”之类的东西me@work“,它根本不是电子邮件地址。