#44923 [Opn]: ereg works differently in PHP 6.0 unicode.semantics=on

From: Date: Tue, 06 May 2008 12:06:04 +0000
Subject: #44923 [Opn]: ereg works differently in PHP 6.0 unicode.semantics=on
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-124749@lists.php.net to get a copy of this message
ID: 44923 Updated by: felipe@php.net Reported By: tokul at users dot sourceforge dot net Status: Open Bug Type: *Regular Expressions Operating System: Linux Debian Etch PHP Version: 6CVS-2008-05-06 (snap) New Comment: This is expected, the code isn't prepared to works with unicode strings. Actually it only use REG_EXTENDED with binary strings, and convert the unicode string to normal string. Previous Comments: ------------------------------------------------------------------------ [2008-05-06 03:59:56] tokul at users dot sourceforge dot net Description: ------------ expressions that work in older versions fail on PHP6 unicode.semantics=on Compared 5.2-dev, 5.3-dev and 6.0-dev snapshots Reproduce code: --------------- $line = "* 469 EXISTS\r\n"; if (ereg("[^ ]+ +([^ ]+) +EXISTS", $line, $match)) { var_dump($match[1]); } else { var_dump(false); } $line = "* 469 FETCH (UID 508 BODY[1]<0> {154}\r\n"; if (ereg('\\{([^\\}]*)\\}', $line, $match)) { var_dump($match[1]); } else { var_dump(false); } Expected result: ---------------- string(3) "469" string(3) "154" Actual result: -------------- bool(false) Warning: ereg(): REG_BADRPT in /home/tomas/testbeds/test/php60/bin/ereg.php on line 10 bool(false) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44923&edit=1

« previous php.bugs (#124749) next »