Delimiter must not be alphanumeric or backslash

Die Fehlermeldung Warning: [FUNCTION]: Delimiter must not be alphanumeric or backslash in [FILENAME] on line [LINE] »Als Begrenzungszeichen darf kein alpha-numerisches Zeichen oder ein Backslash verwendet werden.« tritt auf, wenn bei der Auswertung eines Regulären Ausdrucks durch die jeweils angegebene PHP-Funktion ein nicht erlaubter Delimiter verwendet wurde. Der Fehler tritt entweder auf, wenn wirklich bewusst ein nicht erlaubter Delimiter verwendet wurde, oder aber die Delimiter einfach vergessen wurden.

Beispiele

Im folgenden Beispiel <?PHP preg_match('test''Test-Text'); ?> wurden die Delimiter einfach vergessen. PHP versucht, das erste Zeichen des Ausdrucks als Delimiter zu interpretieren, was natürlich zu einer Fehlermeldung führt.

Hier wurde der Backslash als vermeintlicher Delimiter verwendet, <?PHP preg_match_all('\test\iU''Test-Text'$sub); ?> was genauso wenig erlaubt ist und auch zu einer Fehlermeldung führt.

Fehlerbeseitigung

Der Fehler ist recht schnell zu beseitigen - man ergänzt den Ausdruck einfach um seinen Lieblings-Delimiter und die Sache ist erledigt. Natürlich darf der ergänzte Delimiter nicht im Suchmuster auftauchen, sonst erhält man gleich die nächste Fehlermeldung.

Für die Zukunft sollte man sich eventuell auf einen bestimmten, möglichst selten im Suchmuster auftauchenden, Delimiter festelegen, und beim Erstellen des Regulären Ausdrucks immer erst die Delimiter anzugeben und das Suchmuster dann dazwischen einzufügen. So lässt sich dieser Fehler leicht vermeiden.

Verwandte Themen
Kapitelnavigation