--TEST--
Bug #42298 (pcre gives bogus results with /u)
+--INI--
+unicode.runtime_encoding=utf-8
+unicode.output_encoding=utf-8
--FILE--
<?php
-$str = "A\xc2\xa3BC";
+$str = b"A\xc2\xa3BC";
preg_match_all('/\S\S/u', $str, $m); var_dump($m);
preg_match_all('/\S{2}/u', $str, $m); var_dump($m);
-$str = "A\xe2\x82\xac ";
+$str = b"A\xe2\x82\xac ";
preg_match_all('/\W\W/u', $str, $m); var_dump($m);
preg_match_all('/\W{2}/u', $str, $m); var_dump($m);
[0]=>
array(2) {
[0]=>
- unicode(3) "A£"
+ unicode(2) "A£"
[1]=>
unicode(2) "BC"
}
[0]=>
array(2) {
[0]=>
- unicode(3) "A£"
+ unicode(2) "A£"
[1]=>
unicode(2) "BC"
}
[0]=>
array(1) {
[0]=>
- unicode(4) "€ "
+ unicode(2) "€ "
}
}
array(1) {
[0]=>
array(1) {
[0]=>
- unicode(4) "€ "
+ unicode(2) "€ "
}
}
var_dump($m);
?>
---EXPECT--
-string(13) "\-oh really\?"
+--EXPECTF--
+%string|unicode%(13) "\-oh really\?"
array(1) {
[0]=>
- string(4) "a---"
+ %string|unicode%(4) "a---"
}
array(1) {
[0]=>
- string(1) "a"
+ %string|unicode%(1) "a"
}
array(1) {
[0]=>
- string(5) "a----"
+ %string|unicode%(5) "a----"
}
array(0) {
}