仅回显页面名称(无查询)

时间:2016-04-12 19:23:37

标签: php

我试图在查询字符串开始之前检查我的php url。

目前我有:http://example.com/my-post-here.php?utm_source=webclick&utm_ad_id=123所以我只想尝试检查my-post-here.php

我目前使用的代码是:

$url = trim($_SERVER["REQUEST_URI"], '/');
echo $url;

这已经很好了,直到我在my-post-here.php之后添加了代码,那么我如何继续只检查my-post-here.php并忽略其他所有内容?

3 个答案:

答案 0 :(得分:1)

听起来你正在寻找没有它的查询参数的网址的basename

http://php.net/manual/en/function.basename.php

// your original url
$url = 'http://example.com/my-post-here.php?utm_source=webclick&utm_ad_id=123';

// we don't need the query params
list($url, $queryParams) = explode("?", $url);

// echo the basename
echo basename($url);

结果:

my-post-here.php

您也可以像其他人注意到的那样使用parse_url,但您需要从其返回的内容中删除/字符。

答案 1 :(得分:0)

使用php explode函数分隔问号的字符串:

$array = explode('?', $url);
$newUrl = $array[0];
echo $newUrl; //this will have your url before the question mark

答案 2 :(得分:0)

这是一种方法:

$url = 'http://example.com/my-post-here.php?utm_source=webclick&utm_ad_id=123';
$parsed = parse_url($url); // parse the url
echo $parsed['path'];  // return /my-post-here.php

您应该阅读有关parse_url函数here

的内容