str_replace funktioniert nicht, aber warum

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

  • str_replace funktioniert nicht, aber warum

    Hallo,

    was ist denn an diesem Schnippsel falsch ???
    Alles andere wird ersetzt, nur wenn es um Umlaute geht, werden diese nicht ersetzt sondern 1:1 ausgegeben.

    PHP-Code:
    $suche = array("ö""ä""ü");
    $ersetze = array("oe""ae""ue");
    $_POST['vorname'] = str_replace($suche$ersetze$_POST['vorname']);

    echo 
    $_POST['vorname']; 
    Gruß

    Michael
    Gruß

    Michael

  • #2
    Ist der Text in der Variable eventuell in einem anderen Zeichensatz als deine PHP-Datei?

    Kommentar


    • #3
      Nein, alles steht auf utf-8.
      Gruß

      Michael

      Kommentar


      • #4
        Hast du das überprüft?

        Mach mal echo strlen('ä') in der selben PHP Datei, und mach auch das selbe mit $_POST['vorname'], indem du nur 'ä' im Textfeld eingibst.

        Wenn beides UTF-8 ist müsste strlen jeweils den Wert 2 liefern.

        Kommentar


        • #5
          hmm. ersteres gibt 1 aus. Beim zweites kommt ne 2 raus.
          Gruß

          Michael

          Kommentar


          • #6
            Dann ist die PHP-Datei nicht UTF-8 kodiert.

            Kommentar


            • #7
              Ich würde sagen schon.

              PHP-Code:
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              <meta name="keywords" content="<?= $keywords[$akt?>" />
              <meta name="description" content="<?= $descriptions[$akt?>"  />
              <meta http-equiv="content-language" content="de" />
              <meta name="Revisit-after" content="30"  />
              <meta name="Robots" content="index, follow" />
              <link rel="SHORTCUT ICON" href="http://kegeln.ms-it.org/logo.ICO"/>
              <title><?= $titles[$akt?></title>
              </head>
              Wie kodiere ich diese denn in utf-8 ???

              Gruß

              Michael
              Gruß

              Michael

              Kommentar


              • #8
                Das ist der HTML-Header, das ist wieder was anderes.

                Du musst bei deinem Editor einstellen, dass er in UTF-8 (ohne BOM) abspeichern soll.

                Kommentar


                • #9
                  Ich nutze Dreamweaver cs3 in der hat in den Voreinstellungen die Standardkodierung auf utf-8 stehen.


                  Gruß

                  Michael
                  Gruß

                  Michael

                  Kommentar


                  • #10
                    Probier mal die Datei mit Notepad++ zu öffnen und dann in UTF-8 ohne BOM abzuspeichern.

                    Kommentar


                    • #11
                      Ich habe die Datei nochmal neu angelegt, auf die kodierung geachtet und alles dort hinein kopiert. Siehe da, jetzt funktioniert die Ersetzung.
                      Vielen vielen Dank ! ! !

                      Gruß

                      Michael
                      Gruß

                      Michael

                      Kommentar

                      Lädt...
                      X