1

こんにちは、php で - の最後のインスタンスの後にすべての数字を取得したいと思います

私のコードは今のところそうです

$results = array();       
    $pattern = '/[^\-]*$/';       
    $pattern_no_chars ="[!0-9]";
    preg_match($pattern, $alias_title, $matches);         

    if(count($matches) <1){
        return $results;
    }

    $last_id = end($matches);
    $id_no_char = preg_replace($pattern_no_chars, '', $last_id);   

たとえば、URL は /image/view?alias_title=birkenhead-park-15-v-lymm-49-00601jpg-6514 のようになります。

この場合、6514 が必要です。

4

2 に答える 2

2

あなたはただ使うことができますexplode()

$chunks = explode("-", $url);
$numbers = end($chunks);

または、次のような正規表現:

/-(\d+)$/
于 2013-01-11T01:19:22.037 に答える
0

使用することもできます

preg_match('~(?<=-)\d+$~',$str,$m);
if (!empty($m)) echo $m[0];

内訳は次のとおりです。

(?<=-)  # last character before the match should be a dash
\d+     # 1 or more decimals (aka. the matched part)
$       # end of string

そして、これが例です

$str = '/view?alias_title=network-warringtons-optare-versa-hybrid-yj62fkl-102-1593';
preg_match('~(?<=-)\d+$~',$str,$m);
if (!empty($m)) echo $m[0];

最後に、出力は次のとおりです。1593

于 2013-01-11T02:01:01.740 に答える