PHP'nin preg_match
bazı durumlarda tekrarlayan karakterleri eşleştirmek için bir 3276 karakter sınırlaması vardır anlaşılmaktadır.PHP preg_match uzunluğu 3276 sınırı
yani
^(.|\s){0,3276}$
çalışır, ancak ^(.|\s){0,3277}$
yapmaz.
Her zaman /^(.){0,3277}$/
eserler olarak uygulamak görünmüyor.
Bu PHP'nin belgelerine veya hata takip yerde söz bulamıyorum. numara 3276 garip sınırın biraz Aklıma gelen tek şey imzalı bir 16 bit tamsayı için sınır olan yaklaşık 1/10'u 32767 arasında olmasıdır görünüyor.
preg_last_error()
0 döndürür
Ben http://www.phpliveregex.com/ üzerine konuyu hem de benim yerel sistem ve web sunucusu çoğaltılamaz ettik.
DÜZENLEME: Biz gibiler ": preg_match(): Uyarı Derleme başarısız oldu: düzenli ifade de 16 ofset çok büyük" o PHP preg_match_all limit aynı sorun gibi görünüyor, bu yüzden kod dışarı.
Ancak regex kendisi PHP çok büyük yapıyor gruplar tekrar gelmiş genişleme çeşit yapıyor mu ... çok büyük değil mi?
büyük olasılıkla daha sonra var sen büyük bir diziye sağlamak için yeterli belleğe sahip maks bellek sınırını yukarı darbeleme denemek ve görmek gerek böylece bir bellek sınırı, preg_match birçok unsurları ile bir dizi döndürür olduğunu eğer değişirse. –
'preg_last_error()' ı kontrol ettiniz mi? –
hata bildiriminde mi bulunuyor? Eğer çok fazla bellek – x4rf41