CakeFest 2024: The Official CakePHP Conference

Ö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 (int) 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 (int) 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 (int) PREG_SPLIT_OFFSET_CAPTURE sabitinin açıklamasına bakın.
PREG_SPLIT_NO_EMPTY (int) Bu seçenek preg_split() işlevinin sadece boş olmayan parçaları döndürmesini sağlar.
PREG_SPLIT_DELIM_CAPTURE (int) Bu seçenek preg_split() işlevinin ayraçlı şablon içindeki parantezli grupları da yakalamasını sağlar
PREG_SPLIT_OFFSET_CAPTURE (int) 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 (int) 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 (int) Hiçbir hata oluşmamışsa preg_last_error() işlevi tarafından döndürülür.
PREG_INTERNAL_ERROR (int) 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 (int) 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 (int) 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 (int) 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 (int) 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 (int) PCRE sürümü ve dağıtım tarihi ("7.0 18-Dec-2006" gibi).
add a note

User Contributed Notes 2 notes

up
26
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
15
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