Pergunta

Essa foi outra pergunta anterior, mas não falaremos sobre isso. Estou isolando várias seções em um documento HTML de terceiros. Ao combinar alguns, preciso remover determinadas tags do resultado. O código que encontrei para isso foi assim:

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

Isso tem o efeito colateral infeliz de não apenas excluir a criança do $ Name, mas todo o DomDocument :( Como posso isolar o removechild apenas na seção que encontrei usando a consulta.

Foi útil?

Solução

Ao invés de:

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

Fazer:

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

//nodename Corresponde a todos os nós, não importa o que seja seus pais. $ contextNode é ignorado quando sua consulta começa com //.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top