6

htmlspecialchars 中有一个 charset 参数,但解码版本没有。与类似的 htmlentities 相比,encode 和 decode 函数都具有 charset 参数。所以我不能选择我要解码的字符集?

4

2 回答 2

8

htmlspecialchars()仅在转换特殊字符不在“默认”位置的字符集时才需要 charset 参数。因此,字符集 ISO-8859-1、ISO-8859-15、UTF-8、cp866、cp1251、cp1252 和 KOI8-R 不需要 charset 参数。

htmlspecialchars_decode()将实体 ( & " ' < >) 转换回它们的等效字符,因此不需要传递字符集。

由于htmlentities()将“所有”字符转换为其等效实体,因此可以传入一个字符集html_entity_decode()以确保将实体解码为字符集中的相关字符。

于 2010-05-17T09:45:35.300 回答
6

仅仅因为它只转换& " ' < >而没有别的。

如果要解码所有实体,请使用html_entity_decode(),您可以将字符集作为第三个参数传递给它。

于 2010-05-17T08:19:21.057 回答