Andreas: REGEX mit "ohne"

Beitrag lesen

hi!

ich habe mir für mein kleines PHP-Dateiverwaltungssystem eine Regex gebaut, die abprüft, ob Leer- oder Sonderzeichenin einem String vorhanden sind.
Mit if(preg_match("=ä|ü|ö|ß|[[:punct:]]|[[:space:]]=i", $projekt_ordnername))
klappt das für meine erste Expression schon sehr gut. Allerdings werden auch Unterstriche(_) als Treffer ausgegeben; gibt es eine Möglichkeit, eine Regex mit "ohne _" zu formulieren?

if(preg_match("/[äÄüÜöÖß\s]/i", $projekt_ordnername))

überprüft ob Du Umaute, ß, leerzeichen, tabs, umrüche(\s) in dem String hast. Übrigens funktioniert Groß-Kleinschreibung bei Umlauten nur wenn Du DE als Standardsprache in der php.ini angegeben hast! Vielleicht brauchst Du noch /[äÄüÜöÖß\s.,?!&%$§()/\='´`]/ aber vielleicht geht das auch noch kürzer, kommt halt drauf an was Du alles machen möchtest!

Grüße
Andreas