【问题标题】:PHP add / separators between chunks of breadcrumbsPHP在面包屑块之间添加/分隔符
【发布时间】:2014-02-28 18:37:12
【问题描述】:

我有以下生成面包屑的代码:

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

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

现在通过 URL 传递的 $breadcrumbs 在文件路径之间缺少正确的“/”分隔符,我得到了这个:index.php?bc=historymastersdocuments

而不是这个:index.php?bc=history/masters/documents/(这是我想看到的) 所以我的问题是如何在我的块爆炸后在它们之间附加一个'/',并且每个块的面包屑链接应该是这样的

index.php?bc=history -> index.php?bc=history/masters/ -> index.php?bc=history/masters/documents/

【问题讨论】:

  • 喜欢用/重新内爆它们!!

标签: php slice


【解决方案1】:

您没有在 implode 调用中提供胶水“/”

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

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

【讨论】:

  • 感谢您的帮助,但这对我没有任何帮助,我需要将面包屑显示为 history -> history/masters/ -> history/masters/documents/ 而不仅仅是块中的当前路径
  • 您只是在 implode 调用中缺少“胶水”斜线
  • 太好了,这正是我需要的!
猜你喜欢
  • 1970-01-01
  • 2015-12-08
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2018-08-24
  • 1970-01-01
  • 2012-10-14
相关资源
最近更新 更多