如何在php中拆分url的组件


How to split components of url in php

我想拆分url的每个组件并分别回显它。喜欢http://www.example.com/username现在我想将url的每一部分都拆分,并将其作为http进行回显,Www,实例Com,用户名。

这里的例子有帮助吗?http://php.net/manual/en/function.parse-url.php

<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));
?>

评论后编辑:

<?php
$url = 'http://www.example.com/username';
$scheme=parse_url($url, PHP_URL_SCHEME);
$path=parse_url($url, PHP_URL_PATH);
$path2 = explode("/", $path);
$host=parse_url($url, PHP_URL_HOST);
echo "$scheme",", ";
$pieces = explode(".", $host);
echo "$pieces[0]",", ";
echo "$pieces[1]",", ";
echo "$pieces[2]",", ";
echo "$path2[1]","'n";
?>

应收益率:

http, www, example, com, username

您可以使用parse_url()函数来实现。

mixed parse_url ( string $url [, int $component = -1 ] )

您可以在此处找到文档:http://php.net/manual/de/function.parse-url.php

希望这对你有帮助。

如果你能找到一个可以过滤的正则表达式。/?=和://我认为你可以用这个解决你的问题:http://php.net/manual/en/function.preg-split.php