PHP preg_match_all uzun dizeleri başarısız

0 Cevap

İşte benim kod:

$long = str_repeat('a very long string text', 100); // try changing 100 to 5000

$str = <<<STR
<abc>a short string text</abc>
<abc>$long</abc>
STR;

preg_match_all('@<abc>([^<>]+)</abc>@sU', $str, $matched);

print_r($matched);

Beklendiği gibi ve tamamen çalışır. Ancak, 5000 100 tekrarları değişti sonra, çalıştırmak

print_r($matched);

Ve sadece kısa bir dize oluşması için sonuçlar alırsınız.

Benim soru (1MB veya daha büyük gibi büyük) preg_match yapmak veya büyük bir dize metinlerle çalışmak preg_match_all nasıl?

0 Cevap