php-src/ext/mbstring/tests/overload02.phpt

37 lines
929 B
Plaintext
Raw Normal View History

--TEST--
Function overloading test 2
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip mbstring not available');
if (!function_exists("mail")) {
die('skip mail() function is not available.');
}
if (!function_exists("mb_ereg_replace")) {
die('skip mb_ereg_replace() function is not available.');
}
?>
--INI--
output_handler=
mbstring.func_overload=7
mbstring.internal_encoding=EUC-JP
--FILE--
<?php
echo mb_internal_encoding()."\n";
$ngchars = array('ǽ','ɽ','<27><>','<27><>');
$str = '<27><>Ͻ<EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>ɽ<EFBFBD><C9BD>ǽ<EFBFBD><C7BD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD>Ž<EFBFBD>չ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD>ե<EFBFBD><D5A5><EFBFBD>';
$converted_str = mb_convert_encoding($str, 'Shift_JIS');
mb_regex_encoding('Shift_JIS');
foreach($ngchars as $c) {
$c = mb_convert_encoding($c, 'Shift_JIS');
$replaced = mb_convert_encoding(ereg_replace($c, '!!', $converted_str), mb_internal_encoding(), 'Shift_JIS');
var_dump(strpos($replaced, '!!'));
}
?>
--EXPECT--
EUC-JP
int(10)
int(8)
int(3)
int(29)