Ausgabe in ein Link umwandeln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe in ein Link umwandeln

    Hallo,
    ich habe ein für einen PHP-Profi relativ kleines Problem, ich habe zwar schon eine ungefähre Idee wie dieses womöglich zu lösen wäre, aber irgendwie schaffe ich das noch nicht in den passenden Code umzusetzen.

    Mein Problem:

    Auf einer Anzeigenähnlichen-Seite erscheint der Kategorie-Name, das aus der Variable $kategoriename ausgelesen wird.

    Jetzt steht in dieser Kategorie z.B. der Name "Müller Milch", und daraus soll ein Link erstellt werden das so aussehen müßte mueller_milch.php
    Wie kann ich es schaffen das der Eintrag der Variable in mueller_milch umgewandelt wird, also klein geschrieben und ohne Umlaut?

    Als Lösung dachte ich mir vielleicht etwas in Form eines Arrays, da es nicht soviele Kateogorien sein werden, wo z.B. $kategoriename mit den vorhanden Einträgen vergliechen wird z.B. Müller Milch=mueller_milch,Übel=uebel usw. oder ist besser irgendeine Lösung mit IFs?

    Für jede Antwort bin ich dankbar.

  • #2
    PHP-Code:
    <?php

    $search 
    = array("ä","ö","ü","ß"," ");
    $replace = array("ae","oe","ue","ss","_");

    for (
    $i=0$i<count($search); $i++)
    {
      
    $kategoriename str_replace($search[$i], $replace[$i], strtolower($kategoriename));
    }

    echo 
    $kategoriename;

    ?>

    Gruß,
    Christian

    PS: 200. Beitrag !
    Zuletzt geändert von harakiri; 22.08.2004, 22:08.

    Kommentar


    • #3
      Ja, wenn du das so willst, dann mach es doch mit dem Array!

      PHP-Code:
      $array = array ("Müller Milch" => "mueller_milch",.......);

      echo 
      '<a href="'.$array[$kategoriename].'.php">'.$kategoriename.'</a>'
      Oder du machst es dynamischer indem du mit hilfe einiger Stringoperationen den String in Kleinbuchstaben umwandelst, Leerzeichen mit _ ersetzt und Umlaute umformst [edit: so wie mein vorposter sagt] ... is allerdings imho etwas überflüssig wenn sich da nicht oft was ändert.
      Die Musikreview Seite

      hi, i'm a signature virus. copy me into your signature to help me spread.

      Kommentar


      • #4
        Hallo,

        wie ist es hiermit:

        PHP-Code:
        $asuche=array("Ä","ä","Ö","ö","Ü","ü","ß"," ");
        $aersetze=array("ae","ae","oe","oe","ue","ue","ss","_");
        $kategorie="Müller Milch";

        $clink=strtolower(str_replace($asuche$aersetze$kategorie)).".php";
        echo 
        $clink;  // = mueller_milch.php 
        nice night
        Quickborner

        EDIT:
        umpf, schon wieder zu langsam

        Kommentar


        • #5
          Original geschrieben von Quickborner
          wie ist es hiermit:
          Wenn du strtolower zuerst machst kannst du dir die "großen Umlaute" sparem und dann unterscheidet es sich ja nichtmehr von harakiris, bis auf dass er strtolower ganz vergessen hat
          Die Musikreview Seite

          hi, i'm a signature virus. copy me into your signature to help me spread.

          Kommentar


          • #6
            Original geschrieben von Tartax
            Wenn du strtolower zuerst machst kannst du dir die "großen Umlaute" sparem und dann unterscheidet es sich ja nichtmehr von harakiris, bis auf dass er strtolower ganz vergessen hat
            Ne, er (er = harakiri) hat strtolower noch reineditiert .

            Kommentar


            • #7
              Original geschrieben von harakiri
              Ne, er hat strtolower noch reineditiert .
              Dann editier doch mal die For-Schleife weg, die brauchst du nämlich auch nicht, str_replace kann auch mit array's umgehen wie Quickborner es nutzt.
              Die Musikreview Seite

              hi, i'm a signature virus. copy me into your signature to help me spread.

              Kommentar


              • #8
                Jo, weiß ich jetzt auch =). War mir da nimmer so sicher und habs dann einfach mal ganz "oldschool-like" gemacht .

                Gruß,
                Chris

                Kommentar


                • #9
                  also bei meinem PHP ist
                  strtolower("Ä") == "Ä"

                  Kommentar


                  • #10
                    Original geschrieben von Quickborner
                    also bei meinem PHP ist
                    strtolower("Ä") == "Ä"
                    Nicht wenn du ihm vorher klar machst dass du Deutsch bist!!!

                    PHP-Code:
                    setlocale(LC_CTYPE,"de_DE"); 
                    Die Musikreview Seite

                    hi, i'm a signature virus. copy me into your signature to help me spread.

                    Kommentar

                    Lädt...
                    X