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
- Aufbau von Regulären Ausdrücken
- Delimiter
- Der Backslash
- Fehlermeldungen
- Metazeichen
- No ending delimiter found
- PHP-Funktionen
- preg_grep()
- preg_match()
- preg_match_all()
- preg_replace()
- preg_replace_callback()
- preg_split()
Kapitelnavigation
- Letzte Änderung: 24.07.2010, 03:39:02
- © 2003 - 2010 nophia web