我试图在查询字符串开始之前检查我的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
并忽略其他所有内容?
答案 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:
的内容