我有一个这样的字符串:
http://www.downlinegoldmine.com/viralmarketing
我需要从字符串中移除http://www.
(如果存在),如果不包含www,则需要http://
。
简而言之,我只需要没有任何协议的域名。
答案 0 :(得分:4)
parse_url
是完成工作的完美工具。您首先要调用它来分割部分的url,然后检查主机名部分以查看它是否以www.
开头并将其剥离,然后将其组合回来。
更新:代码
echo normalize_url('http://www.downlinegoldmine.com/viralmarketing');
function normalize_url($url) {
$parts = parse_url($url);
unset($parts['scheme']);
if (substr($parts['hostname'], 0, 4) == 'www.') {
$parts['hostname'] = substr($parts['hostname'], 4);
}
if (function_exists('http_build_url')) {
// This PECL extension makes life a lot easier
return http_build_url($parts);
}
// Otherwise it's the hard way
$result = null;
if (!empty($parts['username'])) {
$result .= $parts['username'];
if (!empty($parts['password'])) {
$result .= ':'.$parts['password'];
}
$result .= '@';
}
$result .= $parts['host'].$parts['path'];
if (!empty($parts['query'])) {
$result .= '?'.$parts['query'];
}
if (!empty($parts['fragment'])) {
$result .= '#'.$parts['fragment'];
}
return $result;
}
<强> See it in action 强>
答案 1 :(得分:1)
只需使用parse_url
(请参阅:http://php.net/manual/de/function.parse-url.php)。它还将包含不同的协议和路径等。
答案 2 :(得分:0)
$nvar = preg_replace("#http://(www\.)?#i", "", "http://www.downlinegoldmine.com/viralmarketing");
测试:
php> echo preg_replace("#http://(www\.)?#i", "", "http://www.downlinegoldmine.com/viralmarketing");
downlinegoldmine.com/viralmarketing
php> echo preg_replace("#http://(www\.)?#i", "", "http://downlinegoldmine.com/viralmarketing");
downlinegoldmine.com/viralmarketing
答案 3 :(得分:0)
可能有更好的方法,但是:
$url = preg_replace("#^(http://)?(www\\.)?#i", "", $url);
答案 4 :(得分:0)
$url = strncmp('http://', $url, 7) ? $url : substr($url, 7);
$url = strncmp('www.', $url, 4) ? $url : substr($url, 4);
答案 5 :(得分:0)
您可以使用以下内容删除https://,http://和www。来自网址。
$url = 'http://www.downlinegoldmine.com/viralmarketing';
echo preg_replace('/https?:\/\/|www./', '', $url);
返回downlinegoldmine.com/viralmarketing
您可以使用以下内容删除网址路径以及https://,http://和www ..
$url = 'http://www.downlinegoldmine.com/viralmarketing';
echo implode('/', array_slice(explode('/',preg_replace('/https?:\/\/|www./', '', $url)), 0, 1));
返回downlinegoldmine.com