Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PCRE Sabitleri
Sabitler Açıklama
PREG_PATTERN_ORDER Sonuçlar sıralanır. Yani, $eşleşen[0] şablonla eşleşen dizgenin tamamını, $eşleşen[1] ilk parantezli grupla eşleşen alt dizgeyi, $eşleşen[2] ikincisini, vb. içerir. Bu seçenek sadece preg_match_all() işlevi ile kullanılır.
PREG_SET_ORDER Sonuçlar sıralanır. Yani, $eşleşen[0] şablonla eşleşen ilk kümeyi, $eşleşen[2] ikincisini, vb. içerir. Bu seçenek sadece preg_match_all() işlevi ile kullanılır.
PREG_OFFSET_CAPTURE PREG_SPLIT_OFFSET_CAPTURE sabitinin açıklamasına bakın.
PREG_SPLIT_NO_EMPTY Bu seçenek preg_split() işlevinin sadece boş olmayan parçaları döndürmesini sağlar.
PREG_SPLIT_DELIM_CAPTURE Bu seçenek preg_split() işlevinin ayraçlı şablon içindeki parantezli grupları da yakalamasını sağlar
PREG_SPLIT_OFFSET_CAPTURE Bu seçenek etkinse, her eşleşmede ayrıca sona eklenen dizgenin başlangıcı da döndürülür. Bu, dizi içindeki dönüş değerini değiştirir. Böylece dizinin her elemanı 0. başlangıçtan itibaren eşleşen dizgeyi ve 1. başlangıca konu dizge başlangıcını içeren bir dizi içerir. Bu seçenek sadece preg_split() için kullanılabilmektedir.
PREG_UNMATCHED_AS_NULL Bu seçenek preg_match() ve preg_match_all() işlevlerinin eşleşmeyen alt şablonların $eşleşmeler içinde null değerlerle içerileceğini belirtir. Bu bayrak olmaksızın eşleşmeyen alt şablonlar boş eşleşmelermiş gibi boş dizgeler olarak raporlanır. Bu bayrak bu iki durumun ayırd edilebilmesini sağlar. Bu seçenek PHP 7.2.0'dan beri kullanılabilmektedir.
PREG_NO_ERROR Hiçbir hata oluşmamışsa preg_last_error() işlevi tarafından döndürülür.
PREG_INTERNAL_ERROR Dahili bir PCRE hatası oluşmuşsa preg_last_error() işlevi tarafından döndürülür.
PREG_BACKTRACK_LIMIT_ERROR Bu seçenek, geriye doğru izleme sınırına ulaşılmışsa preg_last_error() işlevi tarafından döndürülür.
PREG_RECURSION_LIMIT_ERROR Bu seçenek, iç içelik sınırına ulaşılmışsa preg_last_error() işlevi tarafından döndürülür.
PREG_BAD_UTF8_ERROR Son hata bozuk bir UTF-8 verisinden kaynaklanmışsa bu seçenek preg_last_error() işlevi tarafından döndürülür. (Bu sadece düzenli ifade UTF-8 kipinde çalışıyorsa mümkündür.)
PREG_BAD_UTF8_OFFSET_ERROR Başlangıç, geçerli bir UTF-8 kodun başlangıcı değilse bu seçenek preg_last_error() işlevi tarafından döndürülür. (Bu sadece düzenli ifade UTF-8 kipinde çalışıyorsa mümkündür.)
PREG_JIT_STACKLIMIT_ERROR Sınırlı JIT yığıt alanından dolayı son PCRE işlevi başarısız olmuşsa preg_last_error() işlevinden bu sabit döner.
PCRE_VERSION PCRE sürümü ve dağıtım tarihi ("7.0 18-Dec-2006" gibi).
add a note add a note

User Contributed Notes 2 notes

up
27
erutan409 at hotmail dot com
8 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