Get content through class with php

2

How to make a parse in order to get content by class with php?

<p class="p2 p2-resultado-busca"><span>Conteúdo desejado 1</span><strong>Conteúdo Indesejado</strong></p>
<p class="p2 p2-resultado-busca"><span>Conteúdo desejado 2</span><strong>Conteúdo Indesejado</strong></p>
<p class="p2 p2-resultado-busca"><span>Conteúdo desejado 3</span><strong>Conteúdo Indesejado</strong></p>
    
asked by anonymous 28.11.2016 / 14:22

1 answer

3

Using the class DOMDocument together with DOMXPath you can do as follows:

$html = <<<HTML
<p class="p2 p2-resultado-busca"><span>Conteúdo desejado 1</span><strong>Conteúdo Indesejado</strong></p>
<p class="p2 p2-resultado-busca"><span>Conteúdo desejado 2</span><strong>Conteúdo Indesejado</strong></p>
<p class="p2 p2-resultado-busca"><span>Conteúdo desejado 3</span><strong>Conteúdo Indesejado</strong></p>
HTML;

$dom = new domDocument('1.0', 'utf-8'); 
$dom->loadHTML($html); 
$dom->preserveWhiteSpace = false; 

$xpath = new DOMXPath($dom);
$content = $xpath->query('//p[@class="p2 p2-resultado-busca"]//span');

foreach($content as $span){
    echo $span->textContent;
}

See working at ideone

    
28.11.2016 / 14:45