parse_url 并删除子域
parse_url and removing subdomain
我想从 URL 中删除除域之外的所有内容。所以 http://i.imgur.com/rA81kQf.jpg 变成 imgur.com.
$url = 'http://i.imgur.com/rA81kQf.jpg';
$parsedurl = parse_url($url);
$parsedurl = preg_replace('#^www\.(.+\.)#i', '', $parsedurl['host']);
// now if a dot exists, grab everything after it. This removes any potential subdomain
$parsedurl = preg_replace("/^(.*?)\.(.*)$/","",$parsedurl);
以上方法可行,但我觉得我应该只做一个 preg_replace。知道如何将两者结合起来吗?
您可以使用 parse_url() 来获得所需的输出,
$url = "http://i.imgur.com/rA81kQf.jpg";
$parseData = parse_url($url);
$domain = preg_replace('/^www\./', '', $parseData['host']);
$array = explode(".", $domain);
echo (array_key_exists(count($array) - 2, $array) ? $array[count($array) - 2] : "") . "." . $array[count($array) - 1];
打印
imgur.com
我想从 URL 中删除除域之外的所有内容。所以 http://i.imgur.com/rA81kQf.jpg 变成 imgur.com.
$url = 'http://i.imgur.com/rA81kQf.jpg';
$parsedurl = parse_url($url);
$parsedurl = preg_replace('#^www\.(.+\.)#i', '', $parsedurl['host']);
// now if a dot exists, grab everything after it. This removes any potential subdomain
$parsedurl = preg_replace("/^(.*?)\.(.*)$/","",$parsedurl);
以上方法可行,但我觉得我应该只做一个 preg_replace。知道如何将两者结合起来吗?
您可以使用 parse_url() 来获得所需的输出,
$url = "http://i.imgur.com/rA81kQf.jpg";
$parseData = parse_url($url);
$domain = preg_replace('/^www\./', '', $parseData['host']);
$array = explode(".", $domain);
echo (array_key_exists(count($array) - 2, $array) ? $array[count($array) - 2] : "") . "." . $array[count($array) - 1];
打印
imgur.com