Umlaute international mit preg_match?

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

  • Umlaute international mit preg_match?

    Hi,

    Sitze gerade an einem Glossarskript, dessen eingaben aus allen möglichen Sprachen kommen können, ergo habe ich bei der Eingabeprüfung auf Umlaute zu achten.

    Wie aber setze ich ein regexp welches Umlaute aller (westlichen ) Sprachen erlaubt, ohne diese alle aufzuführen (schliesslich kenne ich sie ja nich alle!)

    PHP-Code:
    preg_match("#^([a-z0-9\-\_\.\(\)\ äü]){5,}$#i",$input); 
    wäre mein Ansatz aller dings müsste ich da nun noch französische, spanische etc. Anfügen .

    käme dann zwischendurch auf so was:

    PHP-Code:
                        if (preg_match("#^([a-z0-9\-\_\.\(\)\ ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöùúûüýøþÿÐdŒ]){5,}$#i",$_POST['term'])) {} 

    Das muss doch auch anders gehen oder?

    Weiss einer Rat?



    Zuletzt geändert von chansel0049; 11.02.2005, 20:34.
    chansel0049
    ----------------------------------------------------
    if you've reached the bottomline - dig further!
    Übersetzer gesucht? http://www.babelport.com

  • #2
    warum nicht htmlentities() o.ä.? speichere es so in die db oder sonstwohin und vergleiche die kodierte version der usereingabe mit den gespeicherten daten...

    Kommentar


    • #3
      aber dies macht die Gültigkeitsüberprüfung wiederum hinfällig

      Schliesslich will ich keine ";" im Text zulassen mit htmlspechialchars o.ä. kriege ich aber etc.
      PHP-Code:
       "ö"  oder "&nbps;" 
      chansel0049
      ----------------------------------------------------
      if you've reached the bottomline - dig further!
      Übersetzer gesucht? http://www.babelport.com

      Kommentar


      • #4
        was der user nicht eingeben darf ist nicht das gleiche wie das, was du speicherst.

        Kommentar


        • #5
          Das ist mir klar;

          Jedoch geht mir hierbei um eine Gültigkeitsüberprüfung und nicht um die Speicherung.

          Ich möchte sicherstellen, dass die Eingabe nur Alphanumerische Zeichen enthält (im sinne aller nationalen Alphabete) .

          es geht hierbei nicht um sql injection oder ähnliches sondern darum dass ich verhindern will, dass jemand 'Müll' eingibt.
          chansel0049
          ----------------------------------------------------
          if you've reached the bottomline - dig further!
          Übersetzer gesucht? http://www.babelport.com

          Kommentar


          • #6
            noch mal: wo ist das problem? verbiete es dem user, semikolon einzugeben, wenn du willst. aber speichere sein wort "müll" als "m& uuml;ll".

            Kommentar


            • #7
              Wo diese Überprüfung stattfindet ist egal. Schliesslich soll dann über Fulltext search ...

              Oder, warte ...
              Mhm...

              Mir kommt gerade ein Gedanke ...

              Manchmal hilft bereits so eine kleine Diskussion ...

              Ich sag mal danke

              chansel0049
              ----------------------------------------------------
              if you've reached the bottomline - dig further!
              Übersetzer gesucht? http://www.babelport.com

              Kommentar

              Lädt...
              X