1

簡単な質問。HTMLデータをエンティティ形式に自動変換せずに、 SimpleXMLElement(または実際にはDOMDocument )ノードにHTMLのブロックを追加することは可能ですか?

たとえば、次のスニペットを取り上げます(ここでは、DOMDocumentを使用しますが、SimpleXMLElementはまったく同じように動作します)。

<?php
$dom = new DOMDocument( '1.0', 'utf-8' );
$de = $dom->createElement( 'content', '<p>some <a>stuff</a></p>' );
$dom->appendChild( $de );
echo $dom->saveXML();
?>

出力は次のとおりです。

<p>some <a>stuff</a></p>

ソースを見ると、次のことがわかります。

<?xml version="1.0" encoding="utf-8"?>
<content>&lt;p&gt;some &lt;a&gt;stuff&lt;/a&gt;&lt;/p&gt;</content>

...HTMLブロックはエンティティ形式に自動変換されました。

ブロックをCDATAでラップしても、CDATAの山括弧も変換されるため、役に立ちません。

それで、この自動変換を実行せずにこのようなHTMLブロックを追加する方法はありますか?

ありがとう、m ^ e

4

3 に答える 3