DOMDocument を使用した要素の削除
HTML ドキュメントの操作は、Web 開発者にとって一般的なタスクです。 PHP では、DOMDocument クラスは HTML コードを解析して操作するための便利な方法を提供します。新しい DOMDocument を最初から作成することもできますが、多くの場合、既存のドキュメントを DOMDocument オブジェクトに読み込む方が効率的です。
HTML ドキュメントを変更する際の最も一般的な操作の 1 つは要素の削除です。次の HTML コードを考えてみましょう:
<code class="html"><p><a href="#">First</a></p> <p><a href="#">Second</a></p> <p><a href="#">Third</a></p></code>
Q: 新しい要素を作成せずに、ロードされた DOMDocument 内の要素を削除することは可能ですか?
<code class="php">$dom = new DOMDocument('1.0', 'utf-8'); $dom->loadHTML($html); foreach ($dom->getElementsByTagName('a') as $href) { if ($href->nodeValue == 'First') // delete }</code>
A: はい、新しい DOMDocument を作成せずに、ロードされた DOMDocument から要素を削除することは可能です。
<code class="php">$href->parentNode->removeChild($href);</code>
このアプローチでは、元の DOMDocument オブジェクトが直接変更されます。 DOMNode::$parentNode プロパティは現在のノードの親ノードを参照し、DOMNode::removeChild() メソッドは指定された子ノードを親ノードから削除します。
DOMDocuments を操作するための追加リソース:
以上が新しい DOMDocument を作成せずに、ロードされた DOMDocument 内の要素を削除できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。