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

标签 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;
?>

但是它会输出:http://yahoo.com
但是,我怎么能输出http://answers.yahoo.com这个子-完全是域名。

最佳答案

您应该改为使用 parse_url功能,因为它的存在就是为了做这件事。

echo parse_url( $url, PHP_URL_HOST );

关于php - 使用 php 从字符串中获取子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15852897/

相关文章:

PHP/Mysql - 动态选择数据?

php - Klarna 结帐返回 http_status_code 500 Internal Server Error 作为响应

Python 正则表达式问题

javascript - 在nodejs上使用带有javascript的正则表达式查找html属性并在其值前面添加一些内容

url - 在不记录每次点击的情况下估算每小时 URL 点击次数的聪明方法?

iphone - 用于在 iPhone 上存储许多 url 字符串的自定义文件

phpcurl内存使用情况

php - 使用 php 将 CSV 存入数据库

PHP:使用正则表达式从字符串中删除多余的空格

php - 在自己的 php 框架中管理 URL 路由