0

我在 RSS 中显示的数据上使用 htmlentities,并且我有 unicode 字符,因此它们显示实体,例如http://feedvalidator.org/Á等服务显示为无效。

如何将此实体添加到 xml(例如使用命名空间)或者我应该使用不同的函数来转义字符,例如& < >

4

2 回答 2

2

这是在 php 5.3.3 中工作的函数

function encode($string) {
    $result = '';
    foreach (str_split(utf8_decode(htmlspecialchars($string))) as $char) {
        $num = ord($char);
        if ($num > 127) {
            $result .= '&#' . $num . ';';
        } else {
            $result .= $char;
        }
    }
    return $result;
}
于 2012-04-28T09:43:02.877 回答
2

用于htmlspecialchars转义 XML 中具有特殊含义的字符。

对其他字符使用正确的字符编码。

(略读文档htmlentities建议ENT_XML1如果您不打算使用正确的字符编码,您可以传递并获取与 XML 兼容的数字实体)。

于 2012-04-27T18:43:17.010 回答