I'm fetching a website with this code:
$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($output);
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName('div');
foreach($tables as $table)
{
$div = $table->getAttribute('class');
if( $div == "ppfundove" )
{
echo $dom->saveHTML($table)."<br />";
}
}
and this is the return html.
<div class="ppfundove">
<div style="float:right;">
<div style="width:120px;height:180px;margin:0 0 5px 5px;border:solid 0px black;">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- MdP Linhas --><ins class="adsbygoogle" style="display:inline-block;width:120px;height:90px" data-ad-client="ca-pub-0625882597391969" data-ad-slot="6701994172"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- MdP Linhas --><ins class="adsbygoogle" style="display:inline-block;width:120px;height:90px" data-ad-client="ca-pub-0625882597391969" data-ad-slot="6701994172"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</div>
<div class="ppindent">
<div>Distrito: <span class="ppredib">Porto</span>
</div>
<div>Unid. Estat. (NUTS III): <span class="ppredib">Tâmega</span>
</div>
<div>Província: <span class="ppredib">Douro Litoral</span>
</div>
<div>Freguesias: <span class="ppredib">Bonfim, Campanhã, Paranhos, Ramalde, União das Freguesias de Aldoar, Foz do Douro e Nevogilde, União das Freguesias de Cedofeita, Santo Ildefonso, Sé, Miragaia, São Nicolau e Vitória, União das Freguesias de Lordelo do Ouro e Massarelos.</span> </div>
</div>
<div class="clr"></div>
</div>
<br />
<br />
I need to get:
Bonfim, Campanhã, Paranhos, Ramalde, União das Freguesias de Aldoar, Foz do Douro e Nevogilde, União das Freguesias de Cedofeita, Santo Ildefonso, Sé, Miragaia, São Nicolau e Vitória, União das Freguesias de Lordelo do Ouro e Massarelos.
If was preceded by "Freguesias: "
How can i do that using DOMDocument class?
答案 0 :(得分:1)
$con ='<div>Freguesias: <span class="ppredib">Bonfim, Campanhã, Paranhos, Ramalde, União das Freguesias de Aldoar, Foz do Douro e Nevogilde, União das Freguesias de Cedofeita, Santo Ildefonso, Sé, Miragaia, São Nicolau e Vitória, União das Freguesias de Lordelo do Ouro e Massarelos.</span> </div>';
preg_match_all('/<div>Freguesias:\s*<span class="ppredib">(.*?)<\/span>\s*<\/div>/i', $con, $array);
print_r($array[1][0]);
OR
preg_match('/<div>Freguesias:\s*<span class="ppredib">(.*?)<\/span>\s*<\/div>/i', $con, $array);
print_r($array[1]);