preg_match has str limit in PHP 5.2.5
<?php $str1 = ' a@b % c@d ' . str_repeat ('=', 33326); $str2 = ' a@b % c@d ' . str_repeat ('=', 33327); $regexp = '/^(.*)@(.*)%(.*)$/si'; echo preg_match ($regexp, $str1) ? "Correct " : "Wrong "; // works correctly echo "\n"; echo preg_match ($regexp, $str2) ? "Correct " : "Wrong "; // exhibits the bug echo "\n";
source share