Sonderzeichen im String suchen und Fehlermeldung ausgeben

Papenburger

Erfahrenes Mitglied
Hallo,

ich möchte gerne einen String nach Sonderzeichen durchsuchen.
Sollten Sonderzeichen im String vorhanden sein, so soll eine Fehlermeldung ausgegeben werden.

Wie funktioniert das?


MFG
Papenburger
 
Eigentlich steht oben, was ich suche.

Ich suche eine Abfrage die überprüft ob in einem String Sonderzeichen wie $ oder § oder so vorhanden sind.

Falls ja, dann soll eine Fehlermeldung kommen.
 
Versuche es mit der http://de3.php.net/manual/de/function.preg-match.php-Funktion:

PHP:
if(!$preg_match("/^[a-z0-9]$/is",$string) echo "sonderzeichen im string";

Dieses Suchmuster würde Zeichenketten true zurückgeben, die nur aus Buchstaben und Zahlen bestehen. Auf Groß/ und Kleinschreibung wird nicht geachtet. Wie gesagt nur ein Beispiel.

EDIT: Ich kann dir zu diesem Thema das Tutorial Reguläre Ausdrücke (Regular Expressions / RegEx) von Tim Commans sehr empfehlen, es hatt mir sehr geholfen.


Gruß soyo
 
Zuletzt bearbeitet:
Sorry4Doppelpost.

Da die Funktion oben ja nicht funktioniert, habe ich das nun folglich realisiert:
PHP:
if(!preg_match("/[A-Za-z0-9]$/is",$temp_name[$i]))
                {        
            $gui->printError("general", 'In Ihrem Template-Namen befinden sich Sonderzeichen!');
            $gui->makeFoot();
            $gui->printPage();
            exit;
                }

Nun müsste aber noch eine Ausnahe da mit rein. Das wäre, dass diese Backslashes "\" erlaubt sind. Wie kann ich das machen, da der ja auch zu den Sonderzeichen gehört.


Gruß
Papenburger
 
Das ist eine gute Frage, da der Backslash in Regulären Ausdrücken zum Escapen verwendet wird. Wir könnten es aber mit dem ASCII-zeichen probieren. Probiere mal folgendes ...

PHP:
preg_match("/^[a-z0-9\x5C]+$/is",$temp_name[$i])
... ist ungetestet.


Gruß soyo
 
Zuletzt bearbeitet:
Zurück