Как убрать двойные стрелки «» »из панировочных сухарей только на главной странице

0

Я нашел этот полезный PHP-фрагмент и сделал несколько небольших модификаций, но мне не удалось выяснить, как исключить исходную страницу из показания "" "после слова" Главная ". В результате он заканчивается так, как это... Главная ".

Есть ли простой способ удалить это, не изменяя способ появления сухарей на любой другой странице?

<?php

function breadcrumbs($sep = ' &raquo; ', $home = 'Home') {
//Use RDFa breadcrumb, can also be used for microformats etc.
$bc     =   '<div xmlns:v="http://rdf.data-vocabulary.org/#" id="crums">'.$text;
//Get the website:
$site   =   'http://'.$_SERVER['HTTP_HOST'];
//Get all vars en skip the empty ones
$crumbs =   array_filter( explode("/",$_SERVER["REQUEST_URI"]) );
//Create the home breadcrumb
$bc    .=   '<span typeof="v:Breadcrumb"><a href="'.$site.'" rel="v:url" property="v:title">'.$home.'</a>'.$sep.'</span>';
//Count all not empty breadcrumbs
$nm     =   count($crumbs);
$i      =   1;
//Loop the crumbs
foreach($crumbs as $crumb){
    //Make the link look nice
    $link    =  ucfirst( str_replace( array(".php","-","_"), array(""," "," ") ,$crumb) );
    //Loose the last seperator
    $sep     =  $i==$nm?'':$sep;
    //Add crumbs to the root
    $site   .=  '/'.$crumb;
    //Make the next crumb
    $bc     .=  '<span typeof="v:Breadcrumb"><a href="'.$site.'/" rel="v:url" property="v:title">'.$link.'</a>'.$sep.'</span>';
    $i++;
}
$bc .=  '</div>';
//Return the result
return $bc;}
?>

<p><?= breadcrumbs() ?></p>
Теги:
breadcrumbs

1 ответ

2
Лучший ответ

Вы должны удалить символ разделителя, который помещается каждый раз после "Домой". Добавьте его только в том случае, если после "Дома" есть что-то.

$crumbs =   array_filter( explode("/",$_SERVER["REQUEST_URI"]) );

//Count all not empty breadcrumbs
$nm     =   count($crumbs);
$i      =   1;

// Add first separator if there is at least one crumb
$homesep     =  $nm == 0?'':$sep;
//Create the home breadcrumb
$bc    .=   '<span typeof="v:Breadcrumb"><a href="'.$site.'" rel="v:url" property="v:title">'.$home.'</a>'.$homesep.'</span>';

//Loop the crumbs
foreach($crumbs as $crumb){
    ...
}
  • 0
    Это сработало отлично. Спасибо за помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню