Tôi chỉ muốn các ký tự chưa mã hóa được chuyển đổi thành thực thể html mà không ảnh hưởng đến các thực thể đã có mặt. Tôi có một chuỗi trước đó đã được mã hóa thực thể, ví dụ .:htmlentities() thực thể mã hóa kép trong chuỗi
gaIUSHIUGhj>‐ hjb×jkn.jhuh>hh> …
Khi tôi sử dụng htmlentities()
, các &
vào đầu của đơn vị được mã hóa một lần nữa. Điều này có nghĩa ‐
và các tổ chức khác có họ &
mã hóa để &
:
×
tôi đã cố gắng giải mã chuỗi hoàn chỉnh, sau đó mã hóa nó một lần nữa, nhưng nó dường như không hoạt động đúng. Đây là mã tôi đã thử:
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');
Nhưng dường như nó không hoạt động đúng cách. Có cách nào để ngăn chặn hoặc ngăn chặn điều này xảy ra không?