我正在寻找显示页面当前网址的解决方案,我发现了一些,但我不知道如何实现它们并调用它们,所以这是我找到的最佳解决方案,因为它已经有回声了。
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;
}
要称呼它,我就是这样称呼它
echo curPageURL();
但我想只获取URL的最后一部分,例如:
http://stackoverflow.com/posts/29237151/thequestion
我希望得到thequestion
部分网址。我怎么能这样做?
答案 0 :(得分:2)
正如评论中所述,最好的方法是explode()
然后array_pop()
您的网址。
像这样:
function curPageURL() {
$url = $_SERVER['REQUEST_URI'];
$url = explode('/', $url);
$lastPart = array_pop($url);
return $lastPart;
}
@Vineet答案也是合适的。
答案 1 :(得分:0)
在你的情况下。请改变
$url = curPageURL();
它将为您提供完整的URL,然后按如下所示编写行
$new = explode("/", $url);
$last_part = end($new);
它会提供您想要的输出。
答案 2 :(得分:0)
你也可以试试这个
echo substr(strrchr(curPageURL(), "/"), 1);
答案 3 :(得分:0)
http://php.net/manual/en/function.parse-url.php
PHP有一个名为parse_url()
的函数,它将...解析一个URL。
你要找的是结果的path
部分。
<?php
$url = 'http://stackoverflow.com/posts/29237151/thequestion?arg=value#anchor';
$pathParts = parse_url($url, PHP_URL_PATH);
$lastPart = array_pop(explode('/', $pathParts));
echo $lastPart;
答案 4 :(得分:0)
我认为最短的方式是:
end(explode('/', $url));