ID: 43994 Updated by: [EMAIL PROTECTED] Reported By: josmessa at uk dot ibm dot com -Status: Assigned +Status: Feedback Bug Type: mbstring related Operating System: Windows XP SP2 PHP Version: 5.2CVS-2008-01-31 (snap) Assigned To: hirokawa New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.3-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.3-win32-installer-latest.msi Previous Comments: ------------------------------------------------------------------------ [2008-01-31 17:06:05] [EMAIL PROTECTED] Assign to extension maintainer ------------------------------------------------------------------------ [2008-01-31 15:04:31] josmessa at uk dot ibm dot com Description: ------------ When mb_ereg is passed certain data types as the $pattern argument it will return int(1), i.e. a successful match, when in fact it has not matched. This is shown by setting the $regs argument and looking at the returned array which only contains one element which is bool(false). Reproduce code: --------------- <?php $unset_var = 10; unset ($unset_var); $inputs = array(NULL, null, false, FALSE, "", '', @$undefined_var, @$unset_var); $iterator = 1; foreach($inputs as $input) { if(@is_array($mb_regs)){ $mb_regs = ''; } echo "\n-- Iteration $iterator --\n"; echo "Without \$regs arg:\n"; var_dump( mb_ereg($input, 'hello, world') ); echo "With \$regs arg:\n"; var_dump(mb_ereg($input, 'hello, world', $mb_regs)); var_dump($mb_regs); $iterator++; }; ?> Expected result: ---------------- http://pastebin.com/f5f5c20ff Actual result: -------------- http://pastebin.com/f3f966bd0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43994&edit=1
