Avatar billede cmau Nybegynder
13. november 2005 - 15:42 Der er 9 kommentarer og
1 løsning

Fjerne visse navne.

Hejsa

Jeg har læs en artikel om en breakcrump, så man får den der kendte Su er her: bla :: bal :: bab

Men nogle af de navne der kommer ud vil jeg gerne have blockeret, så jeg selv kan smide dem i et array også hvis de er bliver de ikke tilføjet til outputtet.

Min kode:

<?php

function breadcrumb()
{
    $root = 'http://localhost/';
    if(substr($_SERVER['PHP_SELF'], -1, 1) != "/"){
      $_SERVER['PHP_SELF'] .= "/";
    }
    $dirs = explode('/', $_SERVER['PHP_SELF']); // Split ved slashes
    $size = sizeof($dirs); // Antal biblioteker
    $outp = '<a href="' . $root . '">MP</a>';
    $div  = ' :: '; // Adskillelse ved links mellem biblioteker i output
    $fnam = substr($dirs[$size-1], 0, strrpos($dirs[$size-1], '.')); // Filnavn (mellem begyndelse af sidste element i $dirs-array'et og (sidste) punktum)

    for ($i = 1; $i < $size-1; $i++) {
        $outp .= $div . '<a href="' . $root . $dirs[$i] . '/">' . ucwords(strtr($dirs[$i], '-', '/')) . '</a>'; // Lav adskillelse og link til det aktuelle bibliotek ($dirs[$i])
        $root .= $dirs[$i] . '/'; // Tilføj det aktuelle bibliotek til $root.
    }

        $outp .= $div . '<a href="' . $root . $dirs[$size-1] . '">' . ucwords(strtr($fnam, '-', '/')) . '</a>'; // Skriv link til filnavn, hvis det ikke skal skjules

    return $outp;
}

print breadcrumb();

?>
Avatar billede jensgram Nybegynder
13. november 2005 - 15:47 #1
<?php

function breadcrumb()
{
    $root = 'http://www.jensgram.dk/'; // Domænet
    $dirs = explode('/', $_SERVER['PHP_SELF']); // Split ved slashes
    $size = sizeof($dirs)-1; // Antal biblioteker
    $outp = '<a href="' . $root . '">Forside</a>';
    $div  = ' / '; // Adskillelse ved links mellem biblioteker i output
    $fnam = substr($dirs[$size], 0, strrpos($dirs[$size], '.')); // Filnavn (mellem begyndelse af sidste element i $dirs-array'et og (sidste) punktum)
    $hide = array('index', 'default'); // Filernavne, der ikke skal linkes til

    for ($i = 1; $i < $size; $i++) {
        $outp .= $div . '<a href="' . $root . $dirs[$i] . '/">' . ucwords(strtr($dirs[$i], '_', ' ')) . '</a>'; // Lav adskillelse og link til det aktuelle bibliotek ($dirs[$i])
        $root .= $dirs[$i] . '/'; // Tilføj det aktuelle bibliotek til $root.
    }

    if (in_array($fnam, $hide) == false) {
        $outp .= $div . '<a href="' . $root . $dirs[$size] . '">' . ucwords(strtr($fnam, '_', ' ')) . '</a>'; // Skriv link til filnavn, hvis det ikke skal skjules
    }

    return $outp;
}

?>

... men det var vel næppe det du mente?!?

- Jens
Avatar billede cmau Nybegynder
13. november 2005 - 15:49 #2
Jamen nej, for den gøre det jo kun ved punktummer.

Jeg får fx:

MP :: Middagspausen :: Php :: Cms :: Hmm ::
Avatar billede cmau Nybegynder
13. november 2005 - 15:50 #3
Der skal den så skjule CMS og Middagspausen
Avatar billede jensgram Nybegynder
13. november 2005 - 15:56 #4
for ($i = 1; $i < $size; $i++) {
        if (in_array($dirs[$i], $hide) == false) {
            $outp .= $div . '<a href="' . $root . $dirs[$i] . '/">' . ucwords(strtr($dirs[$i], '_', ' ')) . '</a>'; // Lav adskillelse og link til det aktuelle bibliotek ($dirs[$i])
        }
        $root .= $dirs[$i] . '/'; // Tilføj det aktuelle bibliotek til $root.
    }
Avatar billede cmau Nybegynder
13. november 2005 - 15:57 #5
Det virker næsten nu skrev den:
MP :: Middagspausen :: Php :: Hmm :: ::

Men så er der jo for mange :: der i enden.
Avatar billede cmau Nybegynder
13. november 2005 - 16:00 #6
Nej hmm.. Det den gør er at tilføje :: tilsidst, lige meget hvor mange jeg fjerne, så tilføjer den :: tilsidst, som den ikke ska.l
Avatar billede jensgram Nybegynder
13. november 2005 - 16:03 #7
Det forstår jeg ikke lige. Den burde jo bare fjerne en [div] + [dir].
Avatar billede cmau Nybegynder
13. november 2005 - 16:17 #8
Ja, men hvordan fjerne jeg så den sidste den smider på?
Avatar billede cmau Nybegynder
13. november 2005 - 16:34 #9
Hov.. så lige hvad fejlen var.. nu virker det vist.. Tusind tak, smider du svar?
Avatar billede jensgram Nybegynder
13. november 2005 - 16:42 #10
Jep
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester