|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2000-10-30 12:57 UTC] ignacio at openservices dot net
[2002-07-10 14:24 UTC] estelle at megaphone dot ch
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 21:00:01 2025 UTC |
When I give ereg() a sufficiently complex RE, PHP seems to roll over and die or something the next time it calls ereg(). It has exhibited this behavior since 4.0.1pl2, when we first put the code in place. Here's the code: """ while (ereg("^((.|\n)*)<[[:space:]]*[Ff][Oo][Rr][Mm][Ss][Ee][Tt][[:space:]]*([Tt][Yy][Pp][Ee]=(\"[^\"]*\"|[^\">]*))?[[:space:]]*>((.|\n)*)$", $string, $out)) { error_log("after 1",0); flush(); if ($out[4][0]=="\"") { error_log("after 2",0); flush(); $type=substr($out[4], 1, -1); error_log("after 3",0); flush(); } else { error_log("after 4",0); flush(); $type=$out[4]; error_log("after 5",0); flush(); }; error_log("after 6",0); $string=$out[1].FORMSETFUN($type).$out[5]; error_log("after 7",0); flush(); $formexists=1; }; error_log("after formset",0); flush(); """ It gets to "after 7" and then dies. If the 'while' is changed to an 'if', the problem exhibits itself on subsequent calls to ereg() further down. PHP is configured to use the system RE libs, so I'm wondering if the problem might be in there. Nonetheless, I'm putting it in the PHP bug list so I can be sure.