Umlaute ersetzen, damit Dateiname gültig ist...

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

  • Umlaute ersetzen, damit Dateiname gültig ist...

    hey!

    ich hab schon in Forum gesucht, aber nichts gefunden was mir wirklich weiterhilft!

    Ich möchte durch ein Formular ein Steckbriefmuster erstellen, wobei der Steckbrief anschließens als HTML datei gespreichert werden soll.
    Der Dateiname setzt sich aus den ersten beiden Buchstaben des Vornamens und dem kompletten Nachnamen zusammen:

    PHP-Code:
    $vorname_str strtolower(substr($vorname02));
    $nachname_str strtolower($nachname);
    $dateiname "$vorname_str$nachname_str.html"
    Das funktioniert auch alles, aber wenn in dem Nachnamen nun ein ä ü oder ö (Müller) oder bei falscher eingabe vielleicht auch ein ß eingegeben wird, ist der Dateiname nicht mehr gültig!

    Wie kann ich den Vornamen und Nachnamen auf Umlaute überprüfen, und diese, wenn sie gefunden wurden, ersetzen durch ae, ue, oe und ss...

    Danke für jede Hilfe im Voraus!

    MFG Israel's Son

  • #2
    http://www.php.net/manual/de/functio...tr-replace.php
    http://us2.php.net/manual/de/function.preg-replace.php
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      Danke!

      PHP-Code:
      // Umlaute entfernen
      $umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
      $replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
      $vorname_neu preg_replace($umlaute$replace$vorname);
      $nachname_neu preg_replace($umlaute$replace$nachname);

      // Dateiname wird erstellt
      $vorname_str strtolower(substr($vorname_neu02));
      $nachname_str strtolower($nachname_neu);
      $dateiname "$vorname_str$nachname_str$dateiendung"
      Jetzt funktioniert es!

      kannte preg_replace() vorher garnich...

      Besten Danke!

      MFG Israel's Son

      Kommentar


      • #4
        weiß nicht, ob's sinnvoll ist, aber man kann den modifier /i benutzen, da du die strings doch eh alle strlower() setzst.

        Kommentar


        • #5
          *rauskram*

          mal ne Frage: Ist es hier sinnvoller preg_replace() oder str_replace() zu benutzen um die Umlaute zu ersetzen?

          Kommentar


          • #6
            str_replace(): "Falls Sie keine ausgefallenen String-Ersetzungen brauchen, sollten Sie immer dieser Funktion den Vorzug vor ereg_replace() oder preg_replace() geben. "

            Kommentar


            • #7
              Leider funktioniert die str_replace bei mir nicht richtig.

              Sonderzeichen wie ä usw. ersetzt er, ß aber nicht!!!

              So sieht die Befehlszeile aus:

              $row2['products_description'] = str_replace("/ß/","ss",$row2['products_description']);

              Habe ich hier jetzt einen ganz blöder Ferhler drin? Wie gesagt andere Zeichen ersetzt er.

              Woran könnte es noch liegen?

              Vielen Dank.
              MFG

              d.pioch

              Kommentar


              • #8
                Original geschrieben von d.pioch
                Leider funktioniert die str_replace bei mir nicht richtig.

                Sonderzeichen wie ä usw. ersetzt er, ß aber nicht!!!

                So sieht die Befehlszeile aus:

                $row2['products_description'] = str_replace("/ß/","ss",$row2['products_description']);

                Habe ich hier jetzt einen ganz blöder Ferhler drin? Wie gesagt andere Zeichen ersetzt er.

                Woran könnte es noch liegen?

                Vielen Dank.

                probier mal


                $row2['products_description'] = str_replace("ß","ss",$row2['products_description']);

                Kommentar


                • #9
                  habe ich zuerst so gehabt, funktioniert aber auch nicht.
                  MFG

                  d.pioch

                  Kommentar


                  • #10
                    Ja genau, dein PHP ist kaputt.

                    Kommentar


                    • #11
                      So weit ich weiß läuft Php bei usnerem Provider auf der neusten Version...
                      MFG

                      d.pioch

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php
                        $alt 
                        'Maße';
                        $neu str_replace('ß''ss'$alt);
                        echo 
                        'alt: '.$alt.'<br />';
                        echo 
                        'neu: '.$neu;
                        ?>
                        Ausgabe?
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Ausgabe:

                          alt: Maße
                          neu: Masse


                          scheint also so zu funktionieren...
                          MFG

                          d.pioch

                          Kommentar


                          • #14
                            Und was folgern wir draus?
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Wir folgern daraus, dass da also etwas im Quelltext nicht stimmt.

                              Kann da aber keinen Fehler entdecken!
                              Wäre für Hilfe echt dankbar.
                              MFG

                              d.pioch

                              Kommentar

                              Lädt...
                              X