Premetto che non sono un programmatore ma un grafico che si sta cimentando con il php quindi mi scuso se posso essere banale nel codice che riporto:
Il mio dubbio è se ci sia un modo più snello e\o professionale per avere lo stesso risultato, magari risparmiando qualche foreach.Codice PHP:
$myVar = "<table id='forecast'>
<tr>
<th scope='col' class='spots'>Città</th>
<th scope='col' class='colwth'>Tempo</th>
<th scope='col' class='coln'>Min</th>
<th scope='col' class='colx'>Max</th>
</tr>
<tr>
<th scope='row' class='spot'>[url='http://www.meteogiornale.it']<span style='display: inline;'>Venerdì</span>[/url]</th>
<td class='img'>[url='http://www.meteogiornale.it']<span style='display: inline;'><img src=\"http://www.tempoitalia.it/icone_meteo/meteocitta30/giorno/sereno.png\" width=\"30\" height=\"30\" alt=\"sereno\" /></span>[/url]</td>
<td class='tmin'>23</td>
<td class='tmax'>33</td>
</tr>
<tr>
<th scope='row' class='spot'>[url='http://www.meteogiornale.it']<span style='display: inline;'>Sabato</span>[/url]</th>
<td class='img'>[url='http://www.meteogiornale.it']<span style='display: inline;'><img src=\"http://www.tempoitalia.it/icone_meteo/meteocitta30/giorno/sereno.png\" width=\"30\" height=\"30\" alt=\"sereno\" /></span>[/url]</td>
<td class='tmin'>21</td>
<td class='tmax'>30</td>
</tr>
<tr>
<th scope='row' class='spot'>[url='http://www.meteogiornale.it']<span style='display: inline;'>Domenica</span>[/url]</th>
<td class='img'>[url='http://www.meteogiornale.it']<span style='display: inline;'><img src=\"http://www.tempoitalia.it/icone_meteo/meteocitta30/giorno/quasi_sereno.png\" width=\"30\" height=\"30\" alt=\"quasi sereno\" /></span>[/url]</td>
<td class='tmin'>19</td>
<td class='tmax'>32</td>
</tr>
</table>";
$doc = new DOMDocument;
$doc->loadHTML($myVar);
$xpath = new DOMXPath($doc);
$span = $xpath->query('//span');
$img = $xpath->query('//img[@width="30"]');
$min = $xpath->query('//td[@class="tmin"]');
$max = $xpath->query('//td[@class="tmax"]');
foreach ($span as $span){
if ( !empty($span->nodeValue) ){
$giorno[] = $span->nodeValue;
}
# echo $giorno."
";
}
foreach ($min as $min){
$minima[] = $min->nodeValue;
# echo $minima."
";
}
foreach ($img as $img){
$icona[] = $img->getAttribute('src');
$alt[] = $img->getAttribute('alt');
# echo $icona."
";
}
foreach ($max as $max){
$massima[] = $max->nodeValue;
# echo $massima."
";
}
for( $i = 0; $i <= 2; $i++){
echo $alt[$i].'[img]'.$icona[$i].'[/img]'.$giorno[$i].''.$minima[$i].''.$massima[$i].'
'."\n";
}
# print_r($giorno);
# print_r($minima);
# print_r($massima);
Grazie in anticipo![]()