2016-05-16 69 views
0

我有一个搜索功能,在我的网站,我想让搜索引擎友好的联系,所以我决定让查询字符串转换来自:爆炸URL参数

http://example.com/search?category=example&subcategory=mycategory&region=2 //and other parameters 

要:

http://example.com/search/{parameters}/{string-for-seo?}/{string-for-seo2?}/ //etc. 

其中{parameters}是一个像这样的字符串:c3s34r55p21

字符串的目的是压缩参数。

C3 =类别ID N.3, S34 =子类别ID n.34

等。

问题是,我不知道如何将这个奇怪的字符串爆炸到一个数组,以获取参数。

[ 
    'c' => 3 
    's' => 34 
    'r' => 55 
] 
+1

'c3s34r55p21'是“搜索引擎友好”的完全相反。 – mario

+0

请检查[此演示](https://ideone.com/zX3OFP)。它有帮助吗? –

+0

@mario'/ search/c3s34r55p21'不是seo-friendly,而是'/ search/c3s34r55p21/new-york/car-service'是的。 –

回答

0

我想这是你在找什么

$input = "c3s34r55p21"; 

$array = preg_match_all('/([a-z])(\d*)/', $input, $matches); 
/* 
var_export($array); 
echo "\n"; 
var_export($matches); 
echo "\n"; 
*/ 
$result = array_combine($matches[1], $matches[2]); 
var_export($result); 
echo "\n";