正しくのDOMDocumentとDOMXPathを使うことの最大を使用してPHPでの子要素を削除します

StackOverflow https://stackoverflow.com/questions/4218308

質問

これは、以前別の質問でしたが、我々はそれについて話すことはありません。私は、サードパーティの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は無視されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top