PHP-获取字符串中单词后面的整数


PHP - Get integer after word inside string

具有以下URL字符串:

$URL = "www.example.com/search/brand/model/priceRange:2000-5000/year:1994-2015";

如何确定价格范围和年份?因此,我的最终变量产生了以下结果:

$price_from = 2000;
$price_until= 5000;
$year_from = 1994;
$year_until= 2015;

在阅读了几篇文章后,我很难使用explode()方法,但我不确定如何使用这样的字符串,提前感谢

编辑:我忘了提到URL中元素的顺序可以更改,谢谢

你可以试试这样的东西:

$result = array();
$url_parts = explode('/', $URL);
foreach ($url_parts as $part) {
    if (strpos($part, ':') && strpos($part, '-')) {
       $sub = explode(':', $part);
       $range = explode('-', $sub[1]);
       $result[$sub[0].'_from'] = $range[0];
       $result[$sub[0].'_until'] = $range[1];
    }
}

演示