php - 如何使用 php 获取 URL 主机

我想获取任何 url 的主机名,例如,如果我有以下 url

$url = "http://www.google.com";

然后我只想获取 google. 之后和扩展点 . 之前的内容,以便它可以应用于所有类型网址。

所以结果应该是 google !我认为这可能需要正则表达式或以某种方式 知道怎么做,谢谢。

最佳答案

你可以试试

echo __extractName("http://google.com"); 
echo __extractName("http://office1.dept1.google.com");
echo __extractName("http://google.co.uk");


function __extractName($url)
{
  $domain = parse_url($url , PHP_URL_HOST);
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $list)) {
    return substr($list['domain'], 0,strpos($list['domain'], "."));
  }
  return false;
}

输出

google
google 
google 

https://stackoverflow.com/questions/12689183/

相关文章:

sql-server-2008 - 在 SQL 查询中对日期时间列使用通配符

python - 我如何将参数传递给鼠兔回调

sql - DB2 中的意外标记 "LIMIT"

c# - 从 AJAX 发布的字符串中删除 BOM 字符

jsp - 如何从 jsp 页面获取选定行的列表或选定复选框的列表到 liferay 6 中 por

.net - Vb.net 仅从带整数的字符串中获取整数

visual-studio-2010 - 当我尝试在 VS 2010 中运行 Nuint 测试时,此

arrays - MIPS中的冒泡排序算法

Vb.net - 仅在单击项目时显示上下文菜单条

parsing - 关于如何实现 BASIC 语言解析器/解释器的任何建议?