php preg_match extract args

时间:2013-11-04 18:44:15

标签: php regex preg-match

有没有人知道如何从这个preg_match获取int?它只显示了我的URI。

$uri = "/user/view/2";
$pattern = "/user/view/[0-9]+";

if(preg_match('#^' . $pattern . '$#', $uri, $matched)) {
    print_r($matched);
}
else {
    echo "No match!";
}

2 个答案:

答案 0 :(得分:2)

您的模式中没有捕获组。变化:

$pattern = "/user/view/[0-9]+";

要:

$pattern = "/user/view/([0-9]+)";

它将在$matched[1]

答案 1 :(得分:0)

您可以使用T-Regx并进入

 pattern('^/user/view/[0-9]+$')->match($uri)
     ->forFirst(function (Match $match) {
         $int = $match->group(1);
         print_r($int);
     })
     ->orReturn("No match!");

您不必用#来定界!