この HTML を変数 (サーバー側、つまり PHP) にコピーする必要があるとします。
<text>
<i>The text
<inserted> </inserted>
<inserted>has changed</inserted>
</i>
</text>
だから私はこの種のコードを使用します:
$dom = new DOMDocument();
$dom->loadHTML($html); # HTML from above
foreach ($x->query("//text") as $node)
{
$the_html .= $node->C14N()
}
(DOMNode::C14N()
私にとっては超発見です)
したがって、結果が次のようになることを除いて、すべて問題ありません。
<text>
<i>The text
<inserted></inserted>
<inserted>has changed</inserted>
</i>
</text>
最初の中のスペース<inserted>
がなくなりました!次のようにデバッグします。
echo 'damn' . $node->firstChild->firstChild->nodeValue . 'it';
'damnit' も返します。
スペースを確保する方法はありますか?(試してみましDOMDocument::$preserveWhiteSpace
たが、どうやら解決策ではありません。)
それとも不可能なので、アプローチを変更する必要がありますか?