mirror of
https://github.com/php/php-src.git
synced 2025-01-16 00:34:30 +08:00
60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
--TEST--
|
|
iconv_strpos()
|
|
--SKIPIF--
|
|
<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
|
|
--INI--
|
|
unicode.script_encoding=ISO-8859-1
|
|
unicode.output_encoding=ISO-8859-1
|
|
iconv.internal_charset=ISO-8859-1
|
|
--FILE--
|
|
<?php
|
|
function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
|
|
{
|
|
echo "$errno: $errmsg\n";
|
|
}
|
|
set_error_handler('my_error_handler');
|
|
function foo($haystk, $needle, $offset, $to_charset = false, $from_charset = false)
|
|
{
|
|
if ($from_charset !== false) {
|
|
$haystk = iconv($from_charset, $to_charset, $haystk);
|
|
}
|
|
var_dump(strpos($haystk, $needle, $offset));
|
|
if ($to_charset !== false) {
|
|
var_dump(iconv_strpos($haystk, $needle, $offset, $to_charset));
|
|
} else {
|
|
var_dump(iconv_strpos($haystk, $needle, $offset));
|
|
}
|
|
}
|
|
foo("abecdbcdabef", "bcd", -1);
|
|
foo("abecdbcdabef", "bcd", 100000);
|
|
foo("abcabcabcdabcababcdabc", "bcd", 0);
|
|
foo("abcabcabcdabcababcdabc", "bcd", 10);
|
|
foo(str_repeat("abcab", 60)."abcdb".str_repeat("adabc", 60), "abcd", 0);
|
|
foo(str_repeat("あいうえお", 30)."いうおえあ".str_repeat("あいえおう", 30), "うお", 0, "EUC-JP");
|
|
$str = str_repeat("あいうえお", 60).'$'.str_repeat("あいえおう", 60);
|
|
foo($str, '$', 0, "ISO-2022-JP", "EUC-JP");
|
|
|
|
var_dump(iconv_strpos("string", ""));
|
|
var_dump(iconv_strpos("", "string"));
|
|
?>
|
|
--EXPECTF--
|
|
2: %s
|
|
bool(false)
|
|
2: %s
|
|
bool(false)
|
|
2: %s
|
|
bool(false)
|
|
bool(false)
|
|
int(7)
|
|
int(7)
|
|
int(16)
|
|
int(16)
|
|
int(300)
|
|
int(300)
|
|
int(302)
|
|
int(151)
|
|
int(1)
|
|
int(300)
|
|
bool(false)
|
|
bool(false)
|