我需要解析当前的url,以便在以下任何一种情况下:
http://mydomain.com/abc/
http://www.mydomain.com/abc/
Run Code Online (Sandbox Code Playgroud)
我可以获得"abc"的返回值(或者该位置的任何文本).我怎样才能做到这一点?
KJY*_*葉家仁 38
你可以使用parse_url();
$url = 'http://www.mydomain.com/abc/';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
Run Code Online (Sandbox Code Playgroud)
这会给你
Array
(
[scheme] => http
[host] => www.mydomain.com
[path] => /abc/
)
/abc/
Run Code Online (Sandbox Code Playgroud)
更新:获取当前页面URL然后解析它:
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
print_r(parse_url(curPageURL()));
echo parse_url($url, PHP_URL_PATH);
Run Code Online (Sandbox Code Playgroud)
Age*_*rum 11
看看这个parse_url()功能.它会将URL分解为其组成部分.您关注的部分是路径,因此您可以PHP_URL_PATH作为第二个参数传递.如果您只想要路径的第一部分,则可以使用explode()它/作为分隔符将其分解.
$url = "http://www.mydomain.com/abc/";
$path = parse_url($url, PHP_URL_PATH);
$pathComponents = explode("/", trim($path, "/")); // trim to prevent
// empty array elements
echo $pathComponents[0]; // prints 'abc'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58313 次 |
| 最近记录: |