International PHP Conference Berlin 2025

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

PREG-Konstanten
Konstanten Beschreibung Ab
PREG_PATTERN_ORDER (int) Sortiert die Ergebnisse so, dass $matches[0] ein Array von Übereinstimmungen mit dem ganzen Suchmuster ist, $matches[1] ein Array von Zeichenketten, die mit dem ersten geklammerten Teilsuchmuster übereinstimmen und so weiter. Dieses Flag wird nur bei preg_match_all() verwendet.  
PREG_SET_ORDER (int) Sortiert die Ergebnisse so, dass $matches[0] ein Array des ersten Satzes von Übereinstimmungen ist, $matches[1] ein Array des zweiten Satzes von Übereinstimmungen und so weiter. Dieses Flag wird nur bei preg_match_all() verwendet.  
PREG_OFFSET_CAPTURE (int) Siehe Beschreibung von PREG_SPLIT_OFFSET_CAPTURE.  
PREG_SPLIT_NO_EMPTY (int) Dieses Flag teilt der Funktion preg_split() mit, dass sie nur nicht-leere Teile zurückgeben soll.  
PREG_SPLIT_DELIM_CAPTURE (int) Dieses Flag teilt der Funktion preg_split() mit, dass sie auch die eingeklammerten Ausdrücke des Trennsymbol-Musters zurückgeben soll.  
PREG_SPLIT_OFFSET_CAPTURE (int) Wenn dieses Flag gesetzt ist, wird für jede gefundene Übereinstimmung auch der dazugehörige Versatz zurückgegeben. Beachten Sie, dass dies die Rückgabewerte in einem Array dahingehend ändert, dass jedes Element ein Array ist, das aus der übereinstimmenden Zeichenkette als erstem und deren Stelle im durchsuchten Text als zweitem Element besteht. Dieses Flag wird nur für preg_split() verwendet.  
PREG_UNMATCHED_AS_NULL (int) Dieses Flag teilt der Funktion preg_match() und preg_match_all() mit, dass nicht gefundene Teilsuchmuster in $matches als null-Werte enthalten sein sollen. Ohne dieses Flag werden nicht gefundene Teilsuchmuster als leere Zeichenketten angegeben, so als ob es leere Übereinstimmungen wären. Das Setzen dieses Flags erlaubt es zwischen diesen beiden Fällen zu unterscheiden. 7.2.0
PREG_NO_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls kein Fehler aufgetreten ist. 5.2.0
PREG_INTERNAL_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls ein interner PCRE-Fehler aufgetreten ist. 5.2.0
PREG_BACKTRACK_LIMIT_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls das Limit der Zurückverfolgung (Backtracking) überschritten wurde. 5.2.0
PREG_RECURSION_LIMIT_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls das Rekursionslimit überschritten wurde. 5.2.0
PREG_BAD_UTF8_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls der letzte Fehler durch fehlerhafte UTF-8-Daten verursacht wurde (nur bei RegEx, die im UTF-8-Modus laufen). 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls sich der Versatz nicht mit dem Anfang eines gültigen UTF-8-Codepoints deckt (nur wenn die RegEx im UTF-8-Modus ausgeführt wird). 5.3.0
PREG_JIT_STACKLIMIT_ERROR (int) Dieses Flag wird von preg_last_error() zurückgegeben, falls die letzte PCRE-Funktion wegen begrenzten Speichers im JIT-Stack fehlschlug. 7.0.0
PCRE_VERSION (string) Die PCRE-Version und das Freigabedatum (z. B. "7.0 18-Dec-2006"). 5.2.4
PCRE_VERSION_MAJOR (int) Die PCRE-Hauptversionsnummer.  
PCRE_VERSION_MINOR (int) Die PCRE-Nebenversionsnummer.  
PCRE_JIT_SUPPORT (bool) Dieses Flag zeigt an, ob die JIT-Unterstützung von PCRE verfügbar ist.  
PREG_GREP_INVERT (int) Gibt die Elemente zurück, die nicht mit dem angegebenen Muster übereinstimmen.  
add a note

User Contributed Notes 2 notes

up
27
erutan409 at hotmail dot com
9 years ago
PREG_PATTERN_ORDER: 1
PREG_SET_ORDER: 2
PREG_OFFSET_CAPTURE: 256
PREG_SPLIT_NO_EMPTY: 1
PREG_SPLIT_DELIM_CAPTURE: 2
PREG_SPLIT_OFFSET_CAPTURE: 4
PREG_NO_ERROR: 0
PREG_INTERNAL_ERROR: 1
PREG_BACKTRACK_LIMIT_ERROR: 2
PREG_RECURSION_LIMIT_ERROR: 3
PREG_BAD_UTF8_ERROR: 4
PREG_BAD_UTF8_OFFSET_ERROR: 5
PCRE_VERSION: %YOUR_VERSION_NUMBER%
up
13
Robert
8 years ago
The new PREG_JIT_STACKLIMIT_ERROR constant introduced with PHP 7.0.0 has got a value of 6.

I experienced this error code when parsing a 112KB file. preg_match_all failed with this error. Interesting was: The matches array contained some entries, but not all as the command failed (I missed to check the return value).

Unfortunately you can not configure the stack-size of the PCRE JIT. The only way out was - at least for me - to disable the PCRE JIT via php.ini (pcre.jit=0).
To Top