如何在正斜杠上拆分URL

时间:2014-08-11 21:48:54

标签: php

我试图将URL路径拆分为数组中的单个字符串。我已经尝试了一些事情,这就像我得到的那样接近:

<?php   
$url = '/category/subcategory/item';

$output = array(); 
$chunks = explode('/', $url); 
foreach ($chunks as $i => $chunk) 
{
    $output[] = sprintf
    (
        //'<a href="#/%s">%s</a>',
        implode('/', array_slice($chunks, 0, $i + 1)),
        $chunk
    );
}

echo implode(' &gt;&gt; ', $output);

include 'footer.php';
?>

返回:

  

/ category&gt;&gt; / category / subcategory&gt;&gt; /类别/子类别/项目

但我想尝试返回

  

类别&gt;&gt;子类别&gt;&gt;项目

谢谢!

2 个答案:

答案 0 :(得分:6)

对于您想要的输出,应该很容易:

$url = '/category/subcategory/item';
$chunks = array_filter(explode('/', $url));
echo implode(' &gt;&gt; ', $chunks);

array_filter删除空元素。

结合 newboyhun Dagon 的建议:

echo str_replace('/', ' &gt;&gt; ', trim($url, '/'));

答案 1 :(得分:0)

爆炸后为什么会内爆?太混乱了。

使用此:

$output = explode('/', trim($url, '/'));
echo implode(' &gt;&gt; ', $output);

这将删除字符串开头和结尾处的斜杠。