想爆出url获取主机
$link = str_replace("www.", "", $_POST['link']);
$part1 = explode("//", $link);
$part2 = explode(".", $part1[1]);
$host = $part2[0];
所以如果 $_POST['link']
是例如
https://www.youtube.com/watch?v=udm5jUA-2bs
我只想获取 youtube
。
在第一种方式中,我得到了 explode()
expects parameter 2 to be string, array given"错误消息。
用这个方法:
$host = var_dump(parse_url($_POST['link'], PHP_URL_HOST));
我得到了 www.youtube.com
但我只想要 youtube
。
最佳答案
- 使用
parse_url()
提取 url 域以PHP_URL_HOST
模式运行。 - 我们将使用
explode()
函数使用.
作为分隔符将其分成几部分。 - 现在,URL 可以有两种类型,
youtube.com
,或www.youtube.com
,或%.youtube.com
- 我们计算零件,如果它们是两个,我们使用第一个值,否则使用第二个值。
$url_host_parts = explode('.', parse_url($_POST['link'], PHP_URL_HOST));
$host = (count($url_host_parts) == 2) ? $url_host_parts[0] : $url_host_parts[1];
关于php - 如何获取没有模式且以 php 结尾的 URL 主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53248820/