PHP DomDocument appendChildNode我在文本中有<i>标签</i>

时间:2014-02-25 09:15:52

标签: php xml dom domdocument xmlnode

我想将一些文本附加到dom元素作为子节点。

问题是在文字中我可以将标签设为<i><bold>等。

实际上,使用这种方法:

private function appendChildNode($dom_output, $cit_node, $nodeName, $nodeText)
{
    if ($nodeText != null && $nodeText != "" ) {
        $node = $dom_output->createElement($nodeName);
        $node->appendChild($dom_output->createTextNode($nodeText));
        $cit_node->appendChild($node);
        return $node;
    }
}

当我在$ nodeText中有标签时,<i>将转换为&lt;i&gt;,依此类推。

如何通过保留标签来附加此文本?

谢谢。

1 个答案:

答案 0 :(得分:0)

我设法找到了解决方案。

感谢此帖:DOMDocument append already fixed html from string

我做了:

private function appendChildNode($dom_output, $cit_node, $nodeName, $nodeText)
{
    if ($nodeText != null && $nodeText != "" ) {        
        $node = $dom_output->createElement($nodeName);
        $fragment = $dom_output->createDocumentFragment();
        $fragment->appendXML( $nodeText);
        $node->appendChild($fragment);
        $cit_node->appendChild($node);
        return $node;
    }
}