正しくのDOMDocumentとDOMXPathを使うことの最大を使用してPHPでの子要素を削除します
-
26-09-2019 - |
質問
これは、以前別の質問でしたが、我々はそれについて話すことはありません。私は、サードパーティのHTML文書内のセクションの数を分離しています。いくつかを照合すると、私は結果から特定のタグを削除する必要があります。私はSO上でこの見つかりコードはでした:
$name = $xpath->query("//div[@class='leftColBig']//h3")->item(0);
// remove <span>
foreach($xpath->query("//span", $name) as $node)
$node->parentNode->removeChild($node);
これはちょうど$名前から子を削除しない不幸な副作用がありますが、全体のDOMDocument :(どのように私はちょうど私は、クエリを使用したセクションにremoveChildのを隔離することができます。
解決
の代わりに:
$xpath->query("//span", $name)
ドゥます:
$xpath->query("span", $name)
//nodename
は関係なく、親が何であるかをすべてのノードに一致していません。あなたのクエリが//
で始まる場合$ contextnodeは無視されます。
所属していません StackOverflow