ID:               49384
 Updated by:       j...@php.net
 Reported By:      soham dot mehta at gmail dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         PCRE related
 Operating System: x86_64 GNU/Linux
 PHP Version:      5.2.10
 New Comment:

You should use double quotes instead. Now you're not matching vertical

tab but \v.


Previous Comments:
------------------------------------------------------------------------

[2009-08-27 09:53:50] soham dot mehta at gmail dot com

Description:
------------
In preg_match (and preg_replace), vertical tab character matches
characters other than itself. At the least, it matches ascii 10,11,12,13
and 133, when it should only match 11.

(Vertical tab has been nixed from PCRE - is that the cause?)

Reproduce code:
---------------
        $wrong = chr(133); //can use any of 10,12,13 or 133
        $x = preg_match('/\v/', $wrong, $matches,
PREG_OFFSET_CAPTURE);
        var_dump($matches);

        $right = chr(11);
        $x = preg_match('/\v/', $right, $matches,
PREG_OFFSET_CAPTURE);
        var_dump($matches);


Expected result:
----------------
array
  empty

array
  0 => 
    array
      0 => string '' (length=1)
      1 => int 0


Actual result:
--------------
array
  0 => 
    array
      0 => string '�' (length=1)
      1 => int 0

array
  0 => 
    array
      0 => string '' (length=1)
      1 => int 0



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=49384&edit=1

Reply via email to