|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-06-08 17:57 UTC] 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 ( ) ) PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 19:00:01 2025 UTC |
your regex is wrong. try e.g. this: preg_match_all('/([\'"])((.*(\1)*)*)\1/sU',$str,$str_instead);to nlopess: the result of your regex is: <xmp>Array ( [0] => Array ( [0] => 'loopt' ) [1] => Array ( [0] => ' ) [2] => Array ( [0] => loopt ) [3] => Array ( [0] => t ) [4] => Array ( [0] => ) ) not totally equal the expected result, and my regex is working well with PHP5.2.1+PCRE 6.7. I google this problem,found many people met the same kind issue.