ID: 14304 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Old Status: Feedback Status: Open Bug Type: Regexps related Operating System: Linux php3-2 2.4.7 #1 Thu Aug 9 PHP Version: 4.0.6 New Comment:
The problem is there... I got the first result : >array(10) { > [0]=> > string(24) "<phpdig:ignore_message/>" > [1]=> > string(14) "ignore_message" > [2]=> > ... But on the second, i got nothing but a 'maximum execution time exceeded'. I traced my code with some echoes and flush(), and it seems that the php engine stays on the eregi() function. It not core dump, but Apache goes 100% CPU until the timeout occurs. Previous Comments: ------------------------------------------------------------------------ [2001-12-11 17:39:59] [EMAIL PROTECTED] Thanks for the additional information. I tested the code snippets provided on PHP 4.1.0 - they all seem to operate as expected. The input of both snippets (when fed to your original function) returns '<br><i></i></td>' The regular expressions provided later seem to work as well. The top snippet captures: array(10) { [0]=> string(24) "<phpdig:ignore_message/>" [1]=> string(14) "ignore_message" [2]=> bool(false) [3]=> bool(false) [4]=> bool(false) [5]=> bool(false) [6]=> bool(false) [7]=> bool(false) [8]=> bool(false) [9]=> bool(false) } ...and the bottom snippet captures: array(10) { [0]=> string(31) "<phpdig:ignore_common_message/>" [1]=> string(21) "ignore_common_message" [2]=> bool(false) [3]=> bool(false) [4]=> bool(false) [5]=> bool(false) [6]=> bool(false) [7]=> bool(false) [8]=> bool(false) [9]=> bool(false) } Is this the output that you get with PHP 4.0.6? Please let me know! ------------------------------------------------------------------------ [2001-12-09 08:08:18] [EMAIL PROTECTED] Changed bug type to Regexps ------------------------------------------------------------------------ [2001-12-09 08:00:37] [EMAIL PROTECTED] I isolate the bug : this works : eregi('<phpdig:([a-z0-9_]*)[[:blank:]]*(src=)*["\']*([a-z0-9./_-]+)*["\']*[[:blank:]]*/>','<br><i><phpdig:ignore_message/></i></td>',$regs); this doesn't (php loops) : eregi('<phpdig:([a-z0-9_]*)[[:blank:]]*(src=)*["\']*([a-z0-9./_-]+)*["\']*[[:blank:]]*/>','<br><i><phpdig:ignore_common_message/></i></td>',$regs); ------------------------------------------------------------------------ [2001-12-01 23:43:55] [EMAIL PROTECTED] Please reduce this to a simpler test case. If there is a bug in str_replace, then it should be reproduceable with a simple one line test. Logging how the str_replace functions are called should let you find the culprit. A line like this after the function calls are made should do the trick. error_log ("$line = str_replace({$regs[0]},$replacement,$line);\n", 3, './str_rep_log'); Good Luck! ------------------------------------------------------------------------ [2001-11-30 13:45:17] [EMAIL PROTECTED] Sorry, i forgot : All the application in dowloadable at : http://phpdig.toiletoine.net/phpdig_1_4_3.zip ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/?id=14304 Edit this bug report at http://bugs.php.net/?id=14304&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]