Umlaute international mit preg_match?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?



    Last edited by chansel0049; 11-02-2005, 19: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...

    Comment


    • #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

      Comment


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

        Comment


        • #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

          Comment


          • #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".

            Comment


            • #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

              Comment

              Working...
              X