????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.189.178.138 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/mbstring/tests/ |
Upload File : |
--TEST-- Test mb_strpos() function : mb_strpos bounds check is byte count rather than a character count --SKIPIF-- <?php extension_loaded('mbstring') or die('skip'); function_exists('mb_strpos') or die("skip mb_strpos() is not available in this build"); ?> --FILE-- <?php /* Prototype : int mb_strpos(string $haystack, string $needle [, int $offset [, string $encoding]]) * Description: Find position of first occurrence of a string within another * Source code: ext/mbstring/mbstring.c */ /* * mb_strpos bounds check is byte count rather than a character count: * The multibyte string should be returning the same results as the ASCII string. * Multibyte string was not returning error message until offset was passed the * byte count of the string. Should return error message when passed character count. */ $offsets = array(20, 21, 22, 53, 54); $string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII='); $needle = base64_decode('44CC'); foreach($offsets as $i) { echo "\n-- Offset is $i --\n"; echo "--Multibyte String:--\n"; var_dump( mb_strpos($string_mb, $needle, $i, 'UTF-8') ); echo"--ASCII String:--\n"; var_dump(mb_strpos(b'This is na English ta', b'a', $i)); } ?> --EXPECTF-- -- Offset is 20 -- --Multibyte String:-- int(20) --ASCII String:-- int(20) -- Offset is 21 -- --Multibyte String:-- bool(false) --ASCII String:-- bool(false) -- Offset is 22 -- --Multibyte String:-- Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --ASCII String:-- Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Offset is 53 -- --Multibyte String:-- Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --ASCII String:-- Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Offset is 54 -- --Multibyte String:-- Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --ASCII String:-- Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false)