如何从长字符串中获取电子邮件地址
在PHP中,我有一个这样的字符串:
$string = "user@domain.com MIME-Version: bla bla bla";
如何仅获取电子邮件地址?有没有简单的方法来获得价值??
在PHP中,我有一个这样的字符串:
$string = "user@domain.com MIME-Version: bla bla bla";
如何仅获取电子邮件地址?有没有简单的方法来获得价值??
基于mandaleeka的答案,使用空间分界仪将字符串断开,然后使用filter_var进行消毒,然后验证以查看剩余的是否是合法的电子邮件地址:
function extract_email_address ($string) {
foreach(preg_split('/\s/', $string) as $token) {
$email = filter_var(filter_var($token, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if ($email !== false) {
$emails[] = $email;
}
}
return $emails;
}
如果不确定空格分隔字符串的哪个部分是电子邮件地址,则可以按空格拆分字符串,并使用
filter_var($email, FILTER_VALIDATE_EMAIL)
在每个子字符串上。