返回url preg_match的特定部分

时间:2012-07-29 23:20:52

标签: php url ereg

想象一下你有这种情况

$d='http://www.example.com/';
$d1='http://example.com/';
$d2='http://www.example.com';
$d3='www.example.com/';
$d4='http://www.example.com/';
$d5='http://www.example.com/blabla/blabla.php';

我只需要 example.com 而不需要其他内容。 我尝试使用 parse_url 无效。

例如,使用parse_url($d1, PHP_URL_HOST);在$ d3中不返回任何内容。

你们中的任何人都可以提供一个与之匹配的ereg吗?

非常感谢你!

1 个答案:

答案 0 :(得分:4)

没有path_url函数,但您可以使用parse_url函数从URL字符串中获取主机(域名):

if(!preg_match('#^https?://#', $str))
{
    $domain = 'http://' . $domain;
}

$domain = parse_url($str, PHP_URL_HOST);