如何在 URI 中获取数字 ID?

How to grab a numeric id in URI?

我需要获取 #/ 之后的第一个数字 ID。 例如,我只想在这些 URI 中获取 68 和 112:

//www.domain.tld/category/14-457-myproduct.html#/68-attribute-fm_300_224_39_b

//www.domain.tld/category/36-578-myproduct.html#/112-attribute-fm_489_471_51_w

我什至尝试将 URI 分成几个步骤,但它在我的网站(Smarty 模板)上一次都不起作用。

你试过这样的事情吗:

<?php

$pattern = "/#\/([0-9])*-/";
$url1  = "//www.domain.tld/category/14-457-myproduct.html#/68-attribute-fm_300_224_39_b";
$url2 = "//www.domain.tld/category/36-578-myproduct.html#/112-attribute-fm_489_471_51_w";

echo getNumber($url1, $pattern);
echo "\n";
echo getNumber($url2, $pattern);

function getNumber($url, $pattern){
    preg_match($pattern,  $url, $matches);

    return substr($matches[0], 2, -1);
}