使用PHP从URL中获取整数值


Taking integer value from URL using PHP

我有这个伪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