/ / PHP 5.2 preg_match () Kompilierungsfehler - PHP, Kompilierung, Preg-Match

PHP 5.2 preg_match () Kompilierungsfehler - PHP, Kompilierung, Preg-Match

Würde mich sehr über eine Hilfe freuen. Die serverseitigen Updates meiner Hosts haben dazu geführt, dass mein Kommentarformular zwei Überprüfungsfehler auslöst. Der erste ist: preg_match () gibt Warnung zurück: preg_match () [function.preg-match]: Kompilierung fehlgeschlagen: Bereich außerhalb der Zeichenklasse bei Offset 13 in [Skriptposition hier und Zeilenfehler] - zweite ist bei der Prüfung des Objekts bei Versatz 14.

Dies geschieht bei der E-Mail-Adressprüfung:

if (preg_match("/[^a-zA-Z0-9_-.]/", $_POST["txtEmail"]))

und Fachprüfung:

if (preg_match("/[^a-zA-Z0-9:?-. ]/", $_POST["txtSubject"]))

Ich bin nicht mit PHP vertraut, kann aber Ausschneiden und Einfügen! Meine Website frowey.com und das Kommentarformular für den Kontakt mit uns, dass nach dem Hosting von Betriebssystemupdates ein Fehler aufgetreten ist. Danke im Voraus.

Antworten:

9 für die Antwort № 1

Du musst dem entkommen - Minus. Es hat eine besondere Bedeutung bei Zeichenklassen, da die Fehlermeldung darauf hinweist. Verwenden Sie einen Backslash vor dem Minuszeichen:

preg_match("/[^a-zA-Z0-9_-.]/"

(Alternativ die - kann das erste oder letzte in der Zeichengruppe sein, so dass sie ihre spezielle Funktion verliert


1 für die Antwort № 2
if (preg_match("/[^a-zA-Z0-9_.-]/", $_POST["txtEmail"]))

if (preg_match("/[^a-zA-Z0-9:?.-]/", $_POST["txtSubject"]))