可能重复:
如何从文本中解析/修剪电子邮件地址
如何从姓名和电子邮件地址列表中提取电子邮件地址?
示例输入:
"a1 b.d"<a1@test.com>,
<a2@test.com>,
"a3 b.d"<a3@test.com> ,
a4@test.com ,
输出 :
a1@test.com,
a2@test.com,
a3@test.com,
a4@test.com,
可能重复:
如何从文本中解析/修剪电子邮件地址
如何从姓名和电子邮件地址列表中提取电子邮件地址?
示例输入:
"a1 b.d"<a1@test.com>,
<a2@test.com>,
"a3 b.d"<a3@test.com> ,
a4@test.com ,
输出 :
a1@test.com,
a2@test.com,
a3@test.com,
a4@test.com,
此 PHP 函数将从字符串中提取电子邮件地址并将其放入可点击的链接中:
function extractEmail( $data )
{
if ( preg_match( "/[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}/i", $data, $email ) )
{
$replacement = '<a href="mailto:' . $email[ 0 ] . '" target="_blank">' . $email[ 0 ] . '</a> ';
$data = preg_replace( "/[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}/i", $replacement, $data );
}
return $data;
}
要使用它,请创建 PHP 文件并在其中添加一个测试条目(但不要忘记将上面的函数放入其中):
<?php
echo extractEmail("Some text goes here before mail@mail.com and some text here goes after");
?>
function extract_emails_from($string) {
preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $string, $matches);
return $matches[0];
}
认为关注此 URL 将对您有所帮助。