如何使用PHP从文本中提取域名?

时间:2011-12-13 12:48:55

标签: php regex text

如何使用PHP从某些文本中提取域名?

例如,我的文字应该如下:

[amr]http://www.example1.com[amr]4[amr]af[amrlf]7
[amr]http://www.example1.com[amr]2[amr]ad[amrlf]22
[amr]http://www.example1.net[amr]1[amr]ad[amrlf]26
[amr]http://www.example1.info[amr]3[amr]af[amrlf]31

现在我只想在没有http://www的情况下从中获取域名。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

怎么样:

$str = '[amr]http://www.example1.com[amr]4[amr]af[amrlf]7[amr]http://www.example1.com[amr]2[amr]ad[amrlf]22[amr]http://www.example1.net[amr]1[amr]ad[amrlf]26[amr]http://www.example1.info[amr]3[amr]af[amrlf]31';
preg_match_all('#http://(?:www\.)?(.*?)\[amr#', $str, $matches);
print_r($matches[1]);

<强>输出:

Array
(
    [0] => example1.com
    [1] => example1.com
    [2] => example1.net
    [3] => example1.info
)

答案 1 :(得分:0)

这是另一种解决方案:)

$url  = 'http://google.com?arg=value#anchor';
print_r(parse_url($url));