1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 09:28:21 +02:00

- Fix bug #29199 (html_entity_decode() misbehaves with UTF-8)

This commit is contained in:
Moriyoshi Koizumi
2004-07-19 17:46:30 +00:00
parent d84702836a
commit 46bc2c5ae2
2 changed files with 14 additions and 5 deletions
+6 -5
View File
@@ -157,11 +157,13 @@ static entity_table_t ent_uni_punct[] = {
"ensp", "emsp", NULL, NULL, NULL, NULL, NULL,
"thinsp", NULL, NULL, "zwnj", "zwj", "lrm", "rlm",
NULL, NULL, NULL, "ndash", "mdash", NULL, NULL, NULL,
"lsquo", "rsquo", "sbquo", NULL, "ldquo", "rdquo", "bdquo",
/* 8216 */
"lsquo", "rsquo", "sbquo", NULL, "ldquo", "rdquo", "bdquo", NULL,
"dagger", "Dagger", "bull", NULL, NULL, NULL, "hellip",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "permil", NULL,
"prime", "Prime", NULL, NULL, NULL, NULL, NULL, "lsaquo", "rsaquo",
NULL, NULL, NULL, "oline", NULL, NULL, NULL, NULL, NULL,
/* 8242 */
"prime", "Prime", NULL, NULL, NULL, NULL, NULL, "lsaquo", "rsaquo", NULL,
NULL, NULL, "oline", NULL, NULL, NULL, NULL, NULL,
"frasl"
};
@@ -899,8 +901,7 @@ PHPAPI char *php_unescape_html_entities(unsigned char *old, int oldlen, int *new
if (entity_map[j].table[k - entity_map[j].basechar] == NULL)
continue;
entity[0] = '&';
entity_length = strlen(entity_map[j].table[k - entity_map[j].basechar]);
strncpy(&entity[1], entity_map[j].table[k - entity_map[j].basechar], sizeof(entity) - 2);
+8
View File
@@ -0,0 +1,8 @@
--TEST--
Bug #29199 (html_entity_decode() misbehaves with UTF-8)
--FILE--
<?php
var_dump(bin2hex(html_entity_decode('&ensp;&thinsp;&lsquo;&dagger;&prime;&frasl;&euro;', ENT_QUOTES, 'UTF-8')));
?>
--EXPECT--
string(42) "e28082e28089e28098e280a0e280b2e28184e282ac"