【问题标题】:Help with XML, PHP and CDATA关于 XML、PHP 和 CDATA 的帮助
【发布时间】:2010-12-12 23:25:25
【问题描述】:

我的 XML 文件中有以下内容:

<items>
<item id="1"><content><![CDATA[<p>string</p>]]></content></item>
</items>

我的内容中有 HTML,所以我使用了 CDATA。但是,当我尝试在网页上将内容显示为 HTML 时:

$item_content = $xpath2->query("/bulletin/item[@id='$item_id']/content");
foreach ($item_content as $i)
{
    $a = $dom->createElement('div');
    $a->appendChild($dom->createCDATASection($i->nodeValue));
    // $child = $dom->createElement('div',$i->nodeValue); <--this fails miserably
    $content_tag->appendChild($a);
}

它将显示为:

&lt ;p&gt ;字符串&lt ;/p&gt ;

如何将其显示为 HTML?

【问题讨论】:

  • 为什么在php中使用DOM来输出HTML?为什么不像echo $i-&gt;nodeValue 那样直接回显呢?
  • 我必须修改一个现有的应用程序......我会看看我能做些什么来处理这个回声。

标签: php html xml cdata


【解决方案1】:
 $a->appendChild($i->nodeValue);

而不是:

$a->appendChild($dom->createCDATASection($i->nodeValue));

【讨论】:

    【解决方案2】:

    使用html_ entity_decode(),可以将html实体转换为普通字符。

    【讨论】:

      【解决方案3】:

      我认为你可以使用 html_entity_decode() 函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-27
        • 1970-01-01
        • 1970-01-01
        • 2011-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多