2016-05-16 21 views
0

URLパラメータを爆発し、私はSEOフレンドリーリンクを作りたかったので、私はからGETクエリ文字列を変換することを決定した:私は私のウェブサイトに検索機能を持っている

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'は "SEOにやさしい" とは正反対です。 – mario

+0

[このデモ](https://ideone.com/zX3OFP)を確認してください。助けてくれますか? –

+0

@mario '/ search/c3s34r55p21'は親しみやすいものではなく、/ 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"; 
関連する問題