ID: 14173
Updated by: andrei
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Closed
Bug Type: PCRE related
Operating System: Win98
PHP Version: 4.0.6
New Comment:
Fixed in CVS - thanks.
Previous Comments:
------------------------------------------------------------------------
[2001-11-22 06:23:44] [EMAIL PROTECTED]
$data = "abc\0\0de"; # \0, \x00 - never mind
preg_match('/ab(.{4})e/s', $data, $res);
echo(bin2hex($data)); # 61626300006465
echo(bin2hex($res[0])); # 616263
echo(bin2hex($res[1])); # 63
PHP4.0.6/Win32 (binary distr.)
>From PHP PCRE docs:
--------------
4. Though binary zero characters are supported in the subject string,
they are
not allowed in a pattern string because it is passed as a normal C
string,
terminated by zero. The escape sequence "\0" can be used in the pattern
to
represent a binary zero.
-----------
>From original PCRE docs (http://www.pcre.org/man.txt):
--------
The subject string is passed as a pointer in subject, a
length in length, and a starting offset in startoffset.
Unlike the pattern string, the subject may contain binary
zero characters. When the starting offset is zero, the
search for a match starts at the beginning of the subject,
and this is by far the most common case.
---------
by the way, it seems that preg_replace() works correctly. Problems with
preg_match()
please report if i'm wrong and it isn't a bug.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14173&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]