#41588 [Opn->Csd]: preg_match offset is in bytes even in unicode mode
| From: | vrana@php.net | Date: | Fri, 17 Aug 2007 03:00:47 +0000 |
| Subject: | #41588 [Opn->Csd]: preg_match offset is in bytes even in unicode mode | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969377501@lists.php.net to get a copy of this message | ||
ID: 41588
Updated by: vrana@php.net
Reported By: spam02 at pornel dot net
-Status: Open
+Status: Closed
Bug Type: Documentation problem
Operating System: *
PHP Version: 6.0.0-dev (20070509)
New Comment:
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
$offset: "(in bytes)"
Previous Comments:
------------------------------------------------------------------------
[2007-06-04 13:18:38] tony2001@php.net
>preg_match() with 'u' modifier is supposed to use UTF-8, but this
>switch doesn't affect offset parameter, which is always in bytes.
Right, PHP is not supposed to parse the regexp to detect which
modifiers were used.
The byte/codepoint behaviour changes only in Unicode mode.
------------------------------------------------------------------------
[2007-06-04 13:08:02] spam02 at pornel dot net
(fixed php version)
------------------------------------------------------------------------
[2007-06-04 13:04:43] spam02 at pornel dot net
Description:
------------
preg_match() with 'u' modifier is supposed to use UTF-8, but this
switch doesn't affect offset parameter, which is always in bytes.
This gotcha at least deserves to be documented, although consistent
unicode support would be even better.
Reproduce code:
---------------
<?php
preg_match('/./u',urldecode('%C2%AE').'NY',$m,NULL,2);
echo $m[0];
Expected result:
----------------
Y
Actual result:
--------------
N
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41588&edit=1