0

我正在使用此代码从字符串中解析出电子邮件:

function get_emails ($str) {
    $pattern = '/([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' .
    '(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)/i';

    preg_match ($pattern, $str, $matches);

    return $matches;
}

除非地址在域中具有多个句点,否则它运行良好。所以 johndoe@yahoo.com 工作正常,但 johndoe@yahoo.co.uk 在 johndoe@yahoo.co

我可以改变什么来解决这个问题?

谢谢!

4

1 回答 1

0

您可以+在末尾添加 a ,即+/i.

于 2013-03-25T18:02:48.350 回答