我有这样的网址;
http://www.mydomain.co.uk/blist.php?prodCodes=NC023-NC022-NC024-NCB33&customerID=NHFGR
我使用HTTP Referrer抓取。问题是我只需要链接中的页面名称即blist.php,而不是默认使用的整个URL:
$_SERVER['HTTP_REFERER']
有人能告诉我如何获取网址的这一部分吗?
答案 0 :(得分:8)
尝试
parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH);
注意:此变量在移动设备中不存在。
答案 1 :(得分:6)
答案 2 :(得分:0)
/[\w-]+.php/
您可以使用正则表达式仅获取文件的名称。
答案 3 :(得分:0)
我认为您正在寻找$ _SERVER ['REQUEST_URI'],它只是为您提供所请求的页面。
您可以在此处查看所有$ _SERVER变量:
答案 4 :(得分:0)
这似乎有效,但可能是其他优雅的网址功能。
$url = 'http://www.mydomain.co.uk/blist.php?prodCodes=NC023-NC022-NC024-NCB33&customerID=NHFGR';
preg_match('/\/[a-z0-9]+.php/', $url, $match);
$page = array_shift($match);
echo $page;
答案 5 :(得分:0)
结帐
http://ca.php.net/manual/en/function.parse-url.php
专注于路径($ _SERVER ['REQUEST_URL'])部分,然后执行类似的操作 SUBSTR($路径,strrpos($路径, “/”)+ 1);
答案 6 :(得分:0)
basename(parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH)
这将只提供文件名而不是任何子目录或查询字符串