mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
2f1f34952e
I'm removing the argument entirely here, but we might want to change this to passing null or and empty array instead, if the impact of dropping it entirely turns out to be too large. This was deprecated as part of https://wiki.php.net/rfc/deprecations_php_7_2 as a doc-only deprecation.
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--
|
|
iconv.internal_charset=ISO-8859-1
|
|
--FILE--
|
|
<?php
|
|
function my_error_handler($errno, $errmsg, $filename, $linenum)
|
|
{
|
|
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", -7);
|
|
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--
|
|
bool(false)
|
|
bool(false)
|
|
int(5)
|
|
int(5)
|
|
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)
|