我试图从链接获得该网站的名字从链接获取站点名称通过的preg_match
例如
我有这个链接
http://stackoverflow.com
http://www.google.com
我希望得到这个结果
stackoverflow
google
我正在尝试preg_match,但我有表达式的问题
我试图从链接获得该网站的名字从链接获取站点名称通过的preg_match
例如
我有这个链接
http://stackoverflow.com
http://www.google.com
我希望得到这个结果
stackoverflow
google
我正在尝试preg_match,但我有表达式的问题
你不需要预浸:
$parsed = parse_url($url);
$host = $parsed['host'];
E:这也将有.COM,但你可以修剪掉的顶级域名很容易,你可以将整个域进行匹配。
这并不像您想象的那样微不足道。你举的例子只有.com
顶级域名,所以如果你限制它,你可以做到这一点,如:
$result = preg_replace('(^(.+\.)?([^.]+)\.com$)', '$2', parse_url($subject, PHP_URL_HOST));
这将返回
stackoverflow
例如。但是,如果你想覆盖常见的域名后缀,这并不重要。您会在Mozilla中找到已知后缀的列表,它是PSL - Public Suffix List。它有一些特殊的语法,a PHP library存在它。
hello Collin,感谢您的帮助,但我需要TLD名称,但我需要它(google)not(google.com) –
爆炸'。'并修剪数组的末尾;你不得不提防像.co.uk这样的TLD,尽管 –
$ parsed = explode('。',$ parsed,2); $解析= $ [0]解析; –