Mal wieder Umlaute

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

  • Mal wieder Umlaute

    Hallo, wahrscheinlich zum 1.000 Mal. Habe eine Frage bezüglich Umalueten und strtolower() bzw. strtoupper().

    Habe ein Registrierungsformular, in dem Daten eingegeben werden.

    Möchte nun, dass bei Ort der erste Buchstabe in upper und alle anderen in lower umgewandelt werde. Auuserdem sollen alle Leerzeichen, Sonderzeichen und Umlaute ersetzt werde.

    Wie kann ich das am besten machen ??

    Wo füge ich das in meinen Code ein?

    Habe eine Methode in einer Klasse, die die Daten in die DB schreibt. Kann ich das an dieser Stelle machen??

    Hier die Methode:
    PHP-Code:
    //Eingegebene User-Daten in DB schreiben
        
    function setPersonalData(){
            
                
    $query "INSERT INTO users ( user_lname,
                                          user_fname,
                                          user_address1,
                                          user_address2,
                                          user_zip,
                                          user_city,
                                          user_phone,
                                          user_mail 
                                          )                                             
                      
                      VALUES            ( '"
    .mysql_escape_string(stripslashes($_POST['lname']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['fname']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['address1']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['address2']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['zip']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['city']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['phone']))."',
                                          '"
    .mysql_escape_string(stripslashes($_POST['mail']))."'
                                            )
                                            "
    ;
            
            
    mysql_query($query);
        
        } 
    Danke für Eure Hilfe.

  • #2
    Re: Mal wieder Umlaute

    Original geschrieben von bmaas
    Möchte nun, dass bei Ort der erste Buchstabe in upper und alle anderen in lower umgewandelt werde.
    und was ist mit "Baden-Baden" ??

    Original geschrieben von bmaas
    Auuserdem sollen alle Leerzeichen, Sonderzeichen und Umlaute ersetzt werde.
    Ich speicher die Daten immer unverändert in die DB und gebe sie dann mit htmlentities()aus.
    [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

    [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

    [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
    (from here)

    Kommentar


    • #3
      Ich möchte einfach verhindern, dass unterschiedliche Schreibweisen (Köln vs. Koeln) Inkonsistenzen einführen.

      Da nützt es mir ja nichts, diese mit htmlentities() auszugeben.

      Oder hast Du eine bessere Lösung für mein Problem??

      Kommentar


      • #4
        Re: Mal wieder Umlaute

        Original geschrieben von bmaas

        Möchte nun, dass bei Ort der erste Buchstabe in upper und alle anderen in lower umgewandelt werde.
        ucfirst sollte dir helfen
        Auuserdem sollen alle Leerzeichen, Sonderzeichen und Umlaute ersetzt werde.
        entweder str_replace oder RegEx.

        Kommentar


        • #5
          Werden bei ucfirst denn alle anderen automatisch in lower umgewandelt, auch wenn sie groß geschrieben sind??

          Kommentar


          • #6
            was wäre wenn nicht? was hindert dich daran in diesem fall ein strtolower() vorneweg zu setzen? und warum testest du das nicht einfach schnell mal selber aus?
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Original geschrieben von bmaas
              Ich möchte einfach verhindern, dass unterschiedliche Schreibweisen (Köln vs. Koeln) Inkonsistenzen einführen.
              Aber was ist dann z.B. mit "Gauerstadt"? (gibt's wirklich)
              Das würde dann zu "Gaürstadt" !!

              Stures Ersetzen führt hier sicher nicht zum Ziel

              --

              Auch möchte ich noch mal an Ort mit mehreren Großbuchstaben erinnern.
              z.B. "Baden-Baden" "Bad Saulgau"
              Hier solltest du mit explode bei "-" oder " " teilen und dann jeden Teil extra durch usfirst (oder was auch immer) laufen lassen.
              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
              (from here)

              Kommentar


              • #8
                Irgendwie bekomme ich das nicht ganz hin. Könntest Du mirdas mal an einem Beispiel zeigen???

                Danke..

                Kommentar

                Lädt...
                X