我有这个伪URL:http://blahblah.co.uk/node/57?url=/Installer/Manufacturer/17/Schuco
我需要这个URL中的数字"17"来查询数据库。
我已经考虑过使用"isset()",但不确定它是否是正确的方法。
有人能告诉我如何删除这个URL吗?
感谢
这就是我目前所拥有的:
$url = $_GET['url'];
echo $url;
您可以使用explode()
剥离$url
并获得17
$url = $_GET['url'];
$parts = Explode('/', $url);
$part = $parts[7]; //17
您可以更改7以获得url的正确部分。
编辑(评论后):
print_r($parts);
会给你
Array ( [0] => http:
[1] =>
[2] => blahblah.co.uk
[3] => node
[4] => 57?url=
[5] => Installer
[6] => Manufacturer
[7] => 17
[8] => Schuco
)
所以你可以看到数字7给了你17
echo $parts[7]; // 17
如果使用PHP函数parse_url
解析URL,效果会更好。
检查以下代码:
$url = 'http://blahblah.co.uk/node/57?url=/Installer/Manufacturer/17/Schuco';
$parsedUrl = parse_url($url);
$explodeUrl = explode('/', $parsedUrl['query']);
echo $explodeUrl[3]; // 17
现在,您将获得您传递的URL的所有详细信息。
试用preg_match()
$str = 'http://blahblah.co.uk/node/57?url=/Installer/Manufacturer/17/Schuco';
preg_match_all('/[0-9]+/', $str, $matches);
print($matches[0][1]); // 17