diff options
author | Arnaud Le Blanc <lbarnaud@php.net> | 2008-11-26 03:00:06 +0000 |
---|---|---|
committer | Arnaud Le Blanc <lbarnaud@php.net> | 2008-11-26 03:00:06 +0000 |
commit | 18794addbdd5f0463e9ac27396115716243ef930 (patch) | |
tree | 25c22db1ee08a2dfabdb34e4fa46626ef4b5c791 /ext/standard/tests/strings/htmlentities-utf-2.phpt | |
parent | a05edaf2bd92d9b5edeeb8ed737d9b371ab3e7d6 (diff) | |
download | php-git-18794addbdd5f0463e9ac27396115716243ef930.tar.gz |
MFH: Added ENT_IGNORE as a compatibility flag for htmlentities() and
htmlspecialchars() to skip multibyte sequences intead of returning an
empty string (as iconv's //IGNORE). These functions will still never
return an invalid or incomplete multibyte sequence.
Fixes #43896
Diffstat (limited to 'ext/standard/tests/strings/htmlentities-utf-2.phpt')
-rwxr-xr-x | ext/standard/tests/strings/htmlentities-utf-2.phpt | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/htmlentities-utf-2.phpt b/ext/standard/tests/strings/htmlentities-utf-2.phpt new file mode 100755 index 0000000000..a80100cb10 --- /dev/null +++ b/ext/standard/tests/strings/htmlentities-utf-2.phpt @@ -0,0 +1,70 @@ +--TEST-- +HTML entities with invalid chars and ENT_IGNORE +--INI-- +output_handler= +--FILE-- +<?php +@setlocale (LC_CTYPE, "C"); +$strings = array(b"<", b"\xD0", b"\xD0\x90", b"\xD0\x90\xD0", b"\xD0\x90\xD0\xB0", b"\xE0", b"A\xE0", b"\xE0\x80", b"\xE0\x79", b"\xE0\x80\xBE", + b"Voil\xE0", b"Clich\xE9s", + b"\xFE", b"\xFE\x41", b"\xC3\xA9", b"\xC3\x79", b"\xF7\xBF\xBF\xBF", b"\xFB\xBF\xBF\xBF\xBF", b"\xFD\xBF\xBF\xBF\xBF\xBF", + b"\x41\xF7\xF7\x42", b"\x42\xFB\xFB\x42", b"\x43\xFD\xFD\x42", b"\x44\xF7\xF7", b"\x45\xFB\xFB", b"\x46\xFD\xFD" + ); +foreach($strings as $string) { + $sc_encoded = htmlspecialchars ($string, ENT_QUOTES | ENT_IGNORE, "utf-8"); + var_dump(bin2hex($sc_encoded)); + $ent_encoded = htmlentities ($string, ENT_QUOTES | ENT_IGNORE, "utf-8"); + var_dump(bin2hex($ent_encoded)); +} +?> +--EXPECTF-- +%unicode|string%(8) "266c743b" +%unicode|string%(8) "266c743b" +%unicode|string%(0) "" +%unicode|string%(0) "" +%unicode|string%(4) "d090" +%unicode|string%(4) "d090" +%unicode|string%(4) "d090" +%unicode|string%(4) "d090" +%unicode|string%(8) "d090d0b0" +%unicode|string%(8) "d090d0b0" +%unicode|string%(0) "" +%unicode|string%(0) "" +%unicode|string%(2) "41" +%unicode|string%(2) "41" +%unicode|string%(0) "" +%unicode|string%(0) "" +%unicode|string%(2) "79" +%unicode|string%(2) "79" +%unicode|string%(8) "2667743b" +%unicode|string%(8) "2667743b" +%unicode|string%(8) "566f696c" +%unicode|string%(8) "566f696c" +%unicode|string%(12) "436c69636873" +%unicode|string%(12) "436c69636873" +%unicode|string%(0) "" +%unicode|string%(0) "" +%unicode|string%(2) "41" +%unicode|string%(2) "41" +%unicode|string%(4) "c3a9" +%unicode|string%(16) "266561637574653b" +%unicode|string%(2) "79" +%unicode|string%(2) "79" +%unicode|string%(8) "f7bfbfbf" +%unicode|string%(8) "f7bfbfbf" +%unicode|string%(10) "fbbfbfbfbf" +%unicode|string%(10) "fbbfbfbfbf" +%unicode|string%(12) "fdbfbfbfbfbf" +%unicode|string%(12) "fdbfbfbfbfbf" +%unicode|string%(4) "4142" +%unicode|string%(4) "4142" +%unicode|string%(4) "4242" +%unicode|string%(4) "4242" +%unicode|string%(4) "4342" +%unicode|string%(4) "4342" +%unicode|string%(2) "44" +%unicode|string%(2) "44" +%unicode|string%(2) "45" +%unicode|string%(2) "45" +%unicode|string%(2) "46" +%unicode|string%(2) "46" |