Regular Expressions, nur Buchstaben verwenden inklusive Umlaute

Deutschsprachige Hilfen für Umlautprobleme sind im Internet immer selten gesät. Hier die Lösung des Problems, wenn man alle Zeichen aus einem String filtern will, welche in deutschen Wörtern nicht vorkommen dürfen:

$filteredword = utf8_encode(preg_replace('/[^a-zA-Z-äöüÄÖÜéàèÉÈ]/i','',$inputstring));

Erklärung:

$filteredword ist der gefilterte String ohne unerlaubte Zeichen

$inputstring ist der String, welcher noch unerlaubte Zeichen enthält

utf8_encode: wandelt den gefilterten String in UTF8 um. Dies ist notwendig, wenn man zum Beispiel später den String in einer  MYSQL-Datenbank verwenden will

mit preg_replace werden alle Zeichen, welche dem Suchmuster entsprechen herausgefiltert. In unserem Fall sind das alle Zeichen, welche in den eckigen Klammern stehen.

[^a-zA-Z-äöüÄÖÜéàèÉÈ]: [^...] filtert alles raus ausser "..."

a-zA-Z: bedeutet alle Buchstaben

-: Bindestrich oder Minus sind in der deutschen Wörtern auch erlaubt

äöüÄÖÜéàèÉÈ: die spezial-Zeichen. Für uns Schweizer sinds eben noch ein paar mehr. Kann beliebig mit weiteren Zeichen ergänzt werden.

mit '/.../' wird die Reguläre Expression eingegrenzt

/i bedeutet: Gross und Kleinschreibung wird nicht berücksitigt; könnte man wahrscheinlich hier auch weglassen

 

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <php>
  • Zeilen und Absätze werden automatisch erzeugt.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal>, <js>, <php>, <vb>. PHP-Quellcode kann in <?php ... ?> or <% ... %> eingeschlossen werden.
  • Verlinkte Bilder mit dem 'rel="lightbox"' in <a> Tags wird die Lighbox aufrufen, wenn darauf geklickt wurde.

Weitere Informationen über Formatierungsoptionen

Mit dem Absenden dieses Formulars, akzeptieren Sie die Datenschutzrichtlinie von Mollom.