php数组替换

时间:2012-02-23 11:06:13

标签: php arrays replace restructuredtext

这是一个数组问题

如果我有这个$URI = 'http://localhost/id/artikel/info_artikel/1141/' 我想使用$filterURL = explode('/', $URI);拆分此网址 然后替换特定值,如下所示:

        $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重新构造替换的数组值?因为数组的数量可能会有所不同,但只有这个数量的数组需要做替换。

提前致谢。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

请记住,您有parse_urlparse_str等各种功能来处理网址。

例如:

$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)

然后你可以恢复这个过程:

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

至于恢复爆炸过程,就像 m_w 所说implode