PHP:从字符串中裁剪选定的文本

时间:2012-08-25 14:20:06

标签: php

我希望从http://google.com中删除 http:// 的网址部分,我需要裁剪http://并获取google.com。

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

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

我该怎么做?我可以只获得google.com

* 更新:* Google.com就是一个例子,网址可以是http://artile.blogspot.com/article.htm这样的长网址,所以我需要article.blogspot.com/article.htm

3 个答案:

答案 0 :(得分:2)

您正在寻找函数parse_url()

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

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

另一种选择是str_replace()

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

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

答案 1 :(得分: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);

答案 2 :(得分:0)

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