Pergunta

Eu estou tentando escrever um web raspador usando simplehtmldom. Eu quero ter uma tag por pesquisar o conteúdo da tag. Este é o texto plano dentro dele, não o tipo de tag. Então uma vez que eu tenho a tag, procurando o conteúdo de seu texto simples eu quero começar a próxima tag depois disso.

Como faço para encontrar uma tag com base em seu conteúdo? E uma vez que eu tê-lo como faço para encontrar o seguinte tag?

Qualquer ajuda seria apreciada.

Graças.

Foi útil?

Solução

A seguir irá permitir que você pesquise todos os nós de texto, então, fazer a próxima tag:

// Use Simple_HTML_DOM special selector 'text'
// to retrieve all text nodes from the document
$textNodes = $html->find('text');
$foundTag = null;

foreach($textNodes as $textNode) {
    if($textNode->plaintext == 'Hello World') {
        // Get the parent of the text node
        // (A text node is always a child of
        //  its container)
        $foundTag = $textNode->parent();
        break;
    }
}

if($foundTag) {
    $nextTagAfter = $foundTag->next_sibling();
}

Esta não é sua primeira pergunta sobre básica Simple_HTML_DOM uso. Você pode querer ler a documentação oficial.

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