提取2个斜线之间的整数

时间:2019-11-28 07:15:39

标签: php regex

我正在尝试提取id,它是url中的整数,例如:

http://example.com/email/verify/106/8be57f01ac84747886acd7ae88c888112135fc7a

我只想从PHP的字符串中提取106 URL中唯一动态的变量是域和106/之后的哈希 106/之后的域,id和哈希都是动态的。

我尝试过preg_match_all('!\d+!', $url, $result),但是它匹配字符串中的所有数字。

有什么提示吗?

2 个答案:

答案 0 :(得分:1)

模式\b\d+\b在这里可能足够具体:

$url = "http://example.com/email/verify/106/8be57f01ac84747886acd7ae88c888112135fc7a";
preg_match_all('/\b\d+\b/', $url, $matches);
print_r($matches[0]);

此打印:

Array
(
    [0] => 106
)

答案 1 :(得分:0)

尝试一下。这会起作用。

$url = $_SERVER['REQUEST_URI']; //"http://example.com/email/verify/106/8be57f01ac84747886acd7ae88c888112135fc7a";
$str = explode('/',$url);
echo "<pre>";
print_r($str);

$id = $str[5]; // 106