4

これは以前の別の質問でしたが、それについては説明しません。サードパーティの HTML ドキュメントでいくつかのセクションを分離しています。一部を一致させる場合、結果から特定のタグを削除する必要があります。SOでこれを見つけたコードは次のとおりです。

$name = $xpath->query("//div[@class='leftColBig']//h3")->item(0);
// remove <span>
foreach($xpath->query("//span", $name) as $node)
    $node->parentNode->removeChild($node);

これには、 $name から子を削除するだけでなく、DOMDocument 全体を削除するという不幸な副作用があります:(クエリを使用して見つけたセクションだけに removeChild を分離するにはどうすればよいですか。

4

1 に答える 1

4

それ以外の:

$xpath->query("//span", $name)

行う:

$xpath->query("span", $name)

//nodename親が何であるかに関係なく、すべてのノードに一致します。クエリが で始まる場合、 $contextnode は無視されます//

于 2010-11-18T19:28:28.343 に答える