preg_match_all获取域名的模式是什么?


what is pattern for preg_match_all to get domain name?

我想从文本中获得域名,我可以很容易地为电子邮件做,但无法获得域名。我使用以下代码获取电子邮件地址:

if (!empty($text)) {
  $res = preg_match_all(
    "/[a-z0-9]+([_''.-][a-z0-9]+)*@([a-z0-9]+(['.-][a-z0-9]+)*)+''.[a-z]{2,}/i",
    $text,
    $matches
  );
}

从文本中获取域名的模式是什么?

//如果你想从任何url获取域名,那么这个方法可以工作:preg_match (@ ^ (?: http ://)?([^/]+)@ 我,文本,美元$ matches);$host = $matches[1];//如果你想从电子邮件地址获得域名,那么这应该工作如果(preg_match("/^ ([a-zA-Z0-9]) + ([a-zA-Z0-9 '._-])*@([ a-zA-Z0-9_ -]) + ([a-zA-Z0-9 '._-]+)+$/" , $ 电子邮件){列表(用户名、域名美元)=分裂(美元"@",电子邮件);echo "Domain is:'.$ Domain;之前

希望对大家有所帮助

当做电子邮件地址验证时,最健壮的RegEx可以在这里找到:http://fightingforalostcause.net/misc/2006/compare-email-regex.php