使用php从字符串中获取子域

Jes*_*gmn 2 php regex url

要获取域名,我使用此代码:

<?php
  $myURL   = 'http://answers.yahoo.com/question/index?qid=20130406061745AAmovgl';
  $pattern = '/\w+\..{2,3}(?:\..{2,3})?(?:$|(?=\/))/i';
  if (preg_match($pattern, $myURL, $domain) === 1) {
    $domain = $domain[0];
  }
  $ndomain = "http://$domain";
  echo $ndomain;
?>
Run Code Online (Sandbox Code Playgroud)

但它会输出:http://yahoo.com
但是,我如何http://answers.yahoo.com准确地输出这个子域.

Sam*_*son 8

您应该使用该parse_url函数,因为它存在是为了做这件事.

echo parse_url( $url, PHP_URL_HOST );
Run Code Online (Sandbox Code Playgroud)