【问题标题】:HTML entities not recognized and not displayed when retrieved from ajax从 ajax 检索时无法识别和显示 HTML 实体
【发布时间】:2012-03-01 00:43:05
【问题描述】:

这发生在所有经过测试的浏览器(Chrome、Firefox、Opera ...)中

某些 HTML 实体在从 ajax 检索时被吞没并且不显示。在 HTML 源文件中硬编码时会显示相同的 HTML 实体。


这是实际的输出:(实体既不在网页中也不在控制台中显示)


这是预期的输出:


这是检索实体的 javascript:






注入以下实体: ’




这里是用于检索实体的 php 文件:


header('Content-type: application/xml; charset=UTF-8');

$xml = new DOMDocument('1.0', 'utf-8') ;
$tag = $xml->createElement('b','’');
$tag->setAttribute("id","the-entity");
$xml ->appendChild($tag);
echo $xml->saveXML();

?>

【问题讨论】:

  • 我的猜测是,如果要替换实体,则必须解析文本。您可以使用innerHTML 解析文本。因此,不要使用 appendNode,而是使用 innerHTML 将内容添加到 DOM。

标签: javascript html ajax encoding browser


【解决方案1】:

你想要’,而不是’(这是一个不可打印的控制字符)

【讨论】:

  • 谢谢。这是真的,但为什么 HTML 实体 ’放入HTML源页面时正确显示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多