从PHP中的URL获取数字

时间:2014-05-27 10:08:05

标签: php regex

我有以下网址:http:example.com/country/France/45。 使用模式http:example.com/country/name/**NUMBER**(?$_GET possibly)

如何使用正则表达式(或其他正则表达式)提取数字?

6 个答案:

答案 0 :(得分:3)

使用正则表达式:

$str = 'http:example.com/country/France/45';
preg_match('/http:example\.com\/country\/(?P<name>\w+)\/(?P<id>\d+)/', $str, $matches);
print_r($matches); // return array("name"=>"France", "id" => 45);

答案 1 :(得分:2)

$url = 'http:example.com/country/France/45';
$id  = end(explode('/',trim($url,'/')));

简单不是吗?

trim ()的用法是删除尾随\

答案 2 :(得分:1)

使用类似的东西

    $url = "http://example.com/country/France/45";
    $parts = explode('/', $url);
    $number = $parts[count($parts) - 1];

如果你最后有GET变量,你可以像这样进一步爆炸

    $number = explode('?', $number);
    $number = $number[0];

希望这有助于:)

答案 3 :(得分:1)

echo $last = substr(strrchr($url, "/"), 1 );

strrchr()会在/字符的最后一次出现,然后substr()会在其后面给出字符串。

答案 4 :(得分:-2)

使用explode()

$parts = explode('/', $url);
$number = $parts[count($parts)-1];

答案 5 :(得分:-2)

php的get命令为$_GET,因此要显示为数字

<html>
<body>
<?php
echo $_GET["eg"];
?>
</body>
</html>

网址为http:example.com/country/name/?eg=**NUMBER**