Classe de verificação de dompocument Php

Como posso iterar todas as tags e verificar se a class é font18 ou font17?

$html = new DOMDocument(); $html->load('file.html'); 

html:

  

Abilitazione

I medici devono essere autorizzati dallo Stato a praticare la loro professione. I requisiti per ottenere questa autorizzazione variano a seconda delle diverse Nazioni. I laureati presso Facoltà mediche estere possono ottenere l'autorizzazione a esercitare in Italia se rispondono ai requisiti statali per quanto riguarda il tirocinio e se superano l'esame di Stato. Nell'ambito della CEE si tratta tuttora di una questione da definire nei particolari.

Muito obrigado.

O seguimento irá percorrer todas as tags de span e você pode usar isso para verificar a class (se o trecho de HTML que você forneceu é de fato o que você está usando):

 $doc = new DOMDocument(); libxml_use_internal_errors(true); $doc->load('file.html'); $xpath = new DOMXPath($doc); $nodes = $xpath->query('//span'); foreach ($nodes as $node) { echo $node->getAttribute('class'); } 

Demo: http://codepad.viper-7.com/pQuQw1

Se o HTML for realmente diferente, você pode me dizer para que eu possa alterar meu trecho. Também pode valer a pena selecionar apenas elementos específicos na consulta xpath (por exemplo, para selecionar apenas elementos com class font17 ou font18 ).

Observe que usei DOMXPath porque isso lhe dará mais flexibilidade para alterar a consulta para selecionar os elementos que você precisa, dependendo do seu HTML

Se você quiser apenas selecionar elementos com a class font17 ou font18 você pode alterar a consulta para algo como:

 $nodes = $xpath->query('//span[contains(@class, "font17")]|//span[contains(@class, "font18")]'); 

Demo: http://codepad.viper-7.com/mHo5P7

Seu HTML daria um erro na Input is not proper UTF-8, indicate encoding ! Bytes: 0xE0 0x20 0x6D 0x65 Input is not proper UTF-8, indicate encoding ! Bytes: 0xE0 0x20 0x6D 0x65 se você usar $doc->load("file.html"); aqui é um trabalho simples em torno

 $doc = new DOMDocument('1.0', 'UTF-8'); libxml_use_internal_errors(true); $doc->loadHTML(file_get_contents("file.html")); foreach ( $doc->getElementsByTagName('span') as $node ) { if (preg_match("/^font1[7|8]$/", $node->getAttribute('class'))) { echo $node->nodeValue, "

"; } }