0

我想从http://google.com中裁剪掉http://的 URL 的字符串部分,我需要裁剪 http:// 并获取 google.com。

我使用了以下代码,它给了我 /google.com

strrchr("http://google.com" , "//");

我怎样才能做到这一点?我只能得到 google.com

*更新: * Google.com 只是一个示例,网址可以是长网址,例如http://artile.blogspot.com/article.htm所以我需要 article.blogspot.com/article.htm

4

3 回答 3

2

该功能parse_url()是您正在寻找的。

正如劳伦斯所说,确切的代码将是:

$host = parse_url('http://google.com',PHP_URL_HOST);

另一种选择是str_replace()

$host = str_replace("http://", "", "http://google.com", 1);

第四个参数(count)确保它只替换第一个实例http://

于 2012-08-25T14:23:38.563 回答
1

为什么不直接查看字符串是否以开头,http://然后使用函数获取剩余的子字符串?

$url = 'http://google.com';
if (strpos($url, 'http://') === 0) {
    $url = substr($url, 7);
}

如果您想删除其他前缀,那么也许是时候开始研究快速正则表达式来完成工作了。例如:

$url = 'https://google.com';
$url = preg_replace('#^(?:https?|ftps?|news|feed|gopher)://#', '', $url);
于 2012-08-25T14:27:26.827 回答
0

你也可以使用[^http://]+$

于 2012-08-25T14:26:43.390 回答