我需要从传递的URL解析产品ID。 URL的长度不确定,因此产品ID。网址可能就像
http://<hostname>/p/Brand-Product-Name-6118-161-1-gallery.jpg
OR
http://<hostname>/p/Brand-Product-Name-165-7128-12-gallery.jpg
我想要任何情况下的中间数值,即(161和7128)。我的编程语言是PHP。
答案 0 :(得分:1)
<?php
$url = "http://<hostname>/p/Brand-Product-Name-6118-161-1-gallery.jpg";
preg_match_all('#(\d+)-(\d+)-\d+-gallery\.jpg$#',$url,$matches);
// Depends on how accurate you want to be. You can go with many choices like:
// preg_match_all('#http\://.*?/p/.*?(\d+)-(\d+)-\d+-.*\.jpg#',$url,$matches);
var_dump($matches);
/*
array(3) {
[0]=>
array(1) {
[0]=>
string(22) "6118-161-1-gallery.jpg"
}
[1]=>
array(1) {
[0]=>
string(4) "6118"
}
[2]=>
array(1) {
[0]=>
string(3) "161"
}
}
*/