ID: 41638 Updated by: [EMAIL PROTECTED] Reported By: hirainchen at gmail dot com -Status: Open +Status: Bogus Bug Type: PCRE related Operating System: ALL PHP Version: 5.2.3 New Comment:
your regex is wrong. try e.g. this: preg_match_all('/([\'"])((.*(\1)*)*)\1/sU',$str,$str_instead); Previous Comments: ------------------------------------------------------------------------ [2007-06-08 18:41:07] hirainchen at gmail dot com had tried to set as 5000,1000,500 but not helpful ------------------------------------------------------------------------ [2007-06-08 18:34:03] [EMAIL PROTECTED] Looks like stack overflow to me. Happens also on Linux. Try setting your limits lower. ------------------------------------------------------------------------ [2007-06-08 17:57:22] hirainchen at gmail dot com Description: ------------ PCRE Library Version => 7.0 18-Dec-2006 this version PCRE seems doesn't work well with PHP. I met same problem with php5.2.1+PCRE 7.0 in FreeBSD, resolved by downgrading to PCRE 6.7(blog detail: http://translate.google.com/translate?u=http%3A%2F%2Fhi.baidu.com%2Frainchen%2Fblog%2Fitem%2Fb6321038cf289bf3b211c7bf.html&langpair=zh%7Cen&hl=en&newwindow=1&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools) I had tried to set php.ini as : [Pcre] pcre.backtrack_limit=100000 pcre.recursion_limit=100000 but not helping Reproduce code: --------------- <?php $str = "repeater id='loopt' dataSrc=subject colums=2"; preg_match_all("/(['\"])((.*(\\\\\\1)*)*)\\1/sU",$str,$str_instead); echo "<xmp>"; print_r($str_instead); ?> Expected result: ---------------- <xmp>Array ( [0] => Array ( [0] => 'loopt' ) [1] => Array ( [0] => ' ) [2] => Array ( [0] => loopt ) [3] => Array ( [0] => loopt ) [4] => Array ( [0] => ) ) Actual result: -------------- <xmp>Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) [4] => Array ( ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41638&edit=1