我只想将未编码的字符转换为 html 实体,而不影响已经存在的实体。我有一个先前已编码实体的字符串,例如:
gaIUSHIUGhj>‐ hjb×jkn.jhuh>hh> …
当我使用时htmlentities()
,&
实体开头的 再次被编码。这意味着‐
和其他实体的&
编码为&
:
×
我尝试解码完整的字符串,然后再次对其进行编码,但它似乎无法正常工作。这是我试过的代码:
header('Content-Type: text/html; charset=iso-8859-1');
...
$b = 'gaIUSHIUGhj>‐ hjb×jkn.jhuh>hh> …';
$b = html_entity_decode($b, ENT_QUOTES, 'UTF-8');
$b = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $b);
$b = htmlentities($b, ENT_QUOTES, 'UTF-8');
但它似乎并没有以正确的方式工作。有没有办法防止或阻止这种情况发生?