为什么PHP中的htmlspecialchars_decode没有像对应的那样具有charset参数?

Law*_*Lau 5 php htmlspecialchars

htmlspecialchars中有一个charset参数,但解码版本没有它.与类似的htmlentities相比,编码和解码函数都具有charset参数.所以我无法选择我要解码的字符集?

Ben*_*ner 7

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

htmlspecialchars_decode()将entities(& " ' < >)转换回它们的等价字符,因此不需要传递charset.

htmlentities()将"所有"字符转换为它们的等效实体时,可以传入字符集html_entity_decode()以确保实体被解码为字符集中的相关字符.


Kem*_*emo 5

仅仅因为它只能转换,& " ' < >而不是别的.

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