Ersetzen von Umlauten

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

  • Ersetzen von Umlauten

    Hi Leute,

    habe bisher immer folgendes Skript zum Ersetzen von Umlauten, Leerzeichen und "ß" verwendet:

    $variable enthält z.B. "bücher".
    $variable_result enthält nach dem Skript "buecher".

    PHP-Code:
    // Umwandlung von Umlauten

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


        
    // Schleife

        
    for ($x 0$x ;$x++) {
            
    $variable_result str_replace($search[$x],$replace[$x],$variable);
        } 
    Bei diesem Skript mit einer Whileschleife, in der Daten aus einer DB ausgelesen werden, funkt das ganze aber nicht...

    PHP-Code:
    <? // While-Schleife für Menü-MAIN
    while($row = mysql_fetch_object($ergebnis_search_article)) { 
        $display = $row->display;
        $display_lower = strtolower($display);
        $display_uc = ucfirst($display);

        // Umwandlung von Umlauten

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


        // Schleife

        for ($x = 0; $x < 5 ;$x++) {
            $display_lower_str_replace = str_replace($search[$x],$replace[$x],$display_lower);
        }


    ?>

                        <option value="<? echo $display_lower_str_replace; ?>"><? echo $display_lower_str_replace; ?></option>

    <? } ?>
    Seht ihr da einen Fehler?

    Tnx 4 Help, Grüße Lukas

  • #2
    Ich verstehe zwar den Zweck der Umwandlung nicht so richtig... Aber einen Fehler habe ich nicht entdeckt. Das einzige was man verbessern könnte wäre folgenden Abschnitt vor die While-Schleife zu setzen, da der sich da ja nicht ändert.

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

    Jedoch sollte das kein Fehler sein, wenn man es anders macht und so kommt für mich eigentlich nur in Frage, dass vielleicht etwas mit dem Ergebnis nicht stimmt?

    Kommentar


    • #3
      Versuch mal...

      das hier:


      $neu = str_replace(array("ä","ö","ü"," ","ß"),array("ae","oe","ue", "_","ss"), $alt);

      Zwar nur ne andere Schreibweise, aber vielleicht funktionierts ja!

      Ciao Goose
      Goose
      "Dem die Geduld genommen wurde" - Dank Netscape

      Kommentar


      • #4
        Mal am Rande:
        Wenn Du daten aus der DB holst und da Umlaute ersetzen willst kannste das auch direkt im query machen..
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Hi Leute,

          danke für eure Antworten!

          @MelloPie

          und wie würde das Query aussehen?

          Greetz Lukas

          Kommentar


          • #6
            hi ...

            brauchst du das nur fuer die htmlausgabe ???

            dann benutz doch die funktion
            htmlentities()

            http://de3.php.net/manual/de/function.htmlentities.php


            greetz iglo

            Kommentar


            • #7
              Original geschrieben von kapitaeniglo
              brauchst du das nur fuer die htmlausgabe ???
              dann benutz doch die funktion htmlentities()
              warum umlaute überhaupt umwandeln?

              einen richtigen zeichensatz anzugeben reicht doch vollkommen aus, dann dürfen die umlaute auch unkodiert in der html-datei stehen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X