2012-02-23 24 views
0

これは私がこの$URI = 'http://localhost/id/artikel/info_artikel/1141/' を持っている場合、私は、次のようなように、特定の値を置き換えるこのURL を分割する$filterURL = explode('/', $URI);を使用したい配列の問題PHPの配列の交換

です:

 $filter = str_replace('id', 'en', $filterURL[3]); 
     $sectionname_translated = str_replace($value, $key, $filterURL[4]); 
     $filterfilename = explode('?', $filterURL[5]); 
     $filename = $filterfilename[0]; 
     $newfilename = str_replace($filename, 'articles', $filename); 

どのようにすることができます置き換えられた配列の値を元の配列に戻します$filterURL?配列の数は変わる可能性がありますが、配列のこの数だけを置換する必要があるためです。

ありがとうございます。

+0

あなたは正確に何をしようとしていますか?症例の前後で? – Josh

+0

私はあなたに従っていますが、配列からURLを再構築したいだけなら、implode( '/'、$ filterURL)を使うことができます。 – gintas

答えて

0

はURLを処理するためのparse_urlまたはparse_strのような様々な機能を持っていることを忘れないでください。例えば

m_wimplodeを言ったように、それはあるプロセスを爆発戻すためとして

$parseUrl['query'] = http_build_query($parseUrl['query']); 
$parseUrl = http_build_url($parseUrl); 

$URI = 'http://localhost/something/index.php?test1=var1&test2=var2'; 
$parseUrl = parse_url($URI); 
parse_str($parseUrl['query'], $parseUrl['query']); 

array 
    'scheme' => string 'http' (length=4) 
    'host' => string 'localhost' (length=9) 
    'path' => string '/something/index.php' (length=20) 
    'query' => 
    array 
    'test1' => string 'var1' (length=4) 
    'test2' => string 'var2' (length=4) 

は、その後、あなたは、プロセスを元に戻すことができます。