Как получить числовой в URI с RegEx? - PullRequest
0 голосов
/ 18 октября 2018

Мне нужно получить первый числовой идентификатор после #/.Например, я хотел бы только захватить 68 и 112 в этих URI:

//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).

Спасибо за помощь.

1 Ответ

0 голосов
/ 18 октября 2018

Вы пробовали что-то вроде этого:

<?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);
}
...