嗨我想在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);
例如,网址可能是/ image / view?alias_title = birkenhead-park-15-v-lymm-49-00601jpg-6514
在这种情况下我想要6514
答案 0 :(得分:2)
您可以使用explode()
:
$chunks = explode("-", $url);
$numbers = end($chunks);
或者像这样的正则表达式:
/-(\d+)$/
答案 1 :(得分: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