0

我有一些包含 CDATA 的 XML。

例如标题:<title><![CDATA[School&rsquo;s Latest News]]></title>

当我使用 simplexml_load_string 解析完整的 XML 文档时,我可以使用 (string) 访问 CDATA 值。例如,我得到标题:

$title = (string)$news_xml -> {'news'} -> {'title'}

我遇到的问题是 ' 不是作为 ' 而是作为 ’

如果我使用 html_entity_decode,我会得到完全相同的结果。

如果我在调用 simplexml_load_string 时使用 LIBXML_NOCDATA 选项,我可以使用 print_r 查看 CDATA,而不必显式调用 (string),但我的 HTML 实体仍然出现乱码。

任何想法为什么这不起作用?

4

1 回答 1

1

&rsquo;是一个 unicode 字符(值 0x8217),另见http://www.rsquo.net/

如果您将其发送到浏览器(我认为您的意思是presented as),请确保将页面的编码设置为 UTF-8。

于 2012-12-06T11:35:09.713 回答