【发布时间】:2016-10-11 13:45:42
【问题描述】:
我正在使用这个简单的代码来生成面包屑:
<ul class="breadcrumb">
<?php
$crumbs = explode("/",$_SERVER["REQUEST_URI"]);
foreach($crumbs as $crumb){
echo ' <li>';
echo '<a href="'.$crumb.'">';
echo ucfirst(str_replace(array(".php","_"),array(""," "),$crumb) . '');
echo '</a>';
echo '<span class="divider">/</span></li>' . PHP_EOL;
}
?>
</ul>
现在我的网址是http://example.com/gallery.php。
由于某种原因,此脚本正在为gallery.php 生成一个空锚标记和一个锚标记。
谁能告诉我为什么会生成一个空的锚标记?
实际输出为:
<ul class="breadcrumb">
<li><a href=""></a><span class="divider">/</span></li>
<li><a href="gallery.php">Gallery</a><span class="divider">/</span></li>
</ul>
【问题讨论】:
-
因为
$_SERVER["REQUEST_URI"]以/开头,所以在爆炸时总是至少得到两个数组元素。试试这个:explode("/", trim($_SERVER["REQUEST_URI"], '/'));
标签: php