使用PHP删除除域之外的所有内容
我当前的js公式删除了http://、https://、www和“/”之后的任何内容使用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_替
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']
?>