Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP删除除域之外的所有内容_Php - Fatal编程技术网

使用PHP删除除域之外的所有内容

使用PHP删除除域之外的所有内容,php,Php,我当前的js公式删除了http://、https://、www和“/”之后的任何内容 function cleanUrl(url) { return url.replace(/^(http(s)?:\/\/)?(www\.)?/gi,""); } 例如: 返回google.com 如何使用PHP一步删除除域之外的所有内容?使用 请注意,www.example.com和example.com在技术上是完全独立的实体,可以指向完全不同的记录集。您可以使用preg_替

我当前的js公式删除了http://、https://、www和“/”之后的任何内容

   function cleanUrl(url) { 
        return url.replace(/^(http(s)?:\/\/)?(www\.)?/gi,"");
    }
例如: 返回google.com

如何使用PHP一步删除除域之外的所有内容?

使用


请注意,www.example.com和example.com在技术上是完全独立的实体,可以指向完全不同的记录集。

您可以使用preg_替换当前正则表达式,并获得相同的结果:

函数
parse_url()
功能非常强大,中的示例用法将说明您可以使用它做哪些事情:

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

您可以组合现有的正则表达式(稍加修改),并使用它完成主要工作:

function cleanUrl($url) { 
    return preg_replace('/^(www\.)?/i',"", parse_url($url, PHP_URL_HOST));
}

如前所述,您可能希望将
www.
作为域名的一部分。

有一种更简单的方法;)



您可能想删除
g
模式修饰符(不知道为什么它会出现在第一位?)是的,除非您想要服务器上未托管的数以万亿计的URL的域名。
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
function cleanUrl($url) { 
    return preg_replace('/^(www\.)?/i',"", parse_url($url, PHP_URL_HOST));
}
<?php
   echo $_SERVER['HTTP_HOST']
?>