PHP html_entity_decode()异常为数字HTML实体60和62


PHP html_entity_decode() exception for numeric HTML entities 60 and 62

我如何使用PHP的html_entity_decode()与一个例外的数字HTML实体60和62?

目前我的代码看起来像这样:

$t = mysqli_real_escape_string($db,html_entity_decode($_POST['title'],ENT_COMPAT,'UTF-8'));
但是,如果我将它们编码为在内容中显示为插入符号(就像您直接向客户端显示与符号一样),它们也会被编码,这导致了格式错误的HTML。所以我需要做一些例外虽然我不知道该怎么做;用临时占位符替换字符串?我相信一定有更好的办法。

暂定答案,因为这可能是xy问题:
解析完html实体后,你可以通过htmlspecialchars"重新编码"那些可能会破坏html结构的字符。

$t = mysqli_real_escape_string(
    $db,
    htmlspecialchars(
        html_entity_decode($_POST['title'],ENT_COMPAT,'UTF-8'),
        'UTF-8'
    )
);