1

DOMDocument クラスを使用して、doc 型宣言、head、および body タグを追加できないようにすることは可能ですか? サーバー側のインクルード用に現在のコードを書いていますが、それはすでに適切に形成されたページにレンダリングされています。追加のタグは必要ありません。

4

2 に答える 2

5

@Wrikken が言ったこと、または PHP < 5.3.6 の場合は、正規表現を使用します。

$html = preg_replace('~<(?:!DOCTYPE|/?(?:html|body))[^>]*>\s*~i', '', $dom->saveHTML());
于 2012-06-26T22:29:56.070 に答える
2

PHP 5.3.6 以降では、 でノードを使用できます。それ以前は、マイナーな修正でecho $DOMDocument->saveHTML($the_node_you_want_to_show)悪用されていました。->saveXML()ただし、周囲に含まれるノードが 1 つ必要です (たとえば、出力は です<div>...somecontent and nodex....</div>。または、周囲のタグが 1 つ必要ない場合は、ノードの子をループします。

$html = '';
foreach($rootnode->childNodes as $node){
    $html .= $rootnode->ownerdocument->saveHTML($node);
}
于 2012-06-26T22:25:41.497 に答える