<?
Class erguner
{
function dayadd($days,$date=null , $format="d/m/Y"){
// add days to a date
return date($format,strtotime($days." days",strtotime( $date ? $date : date($format) )));
}
private function attr($s,$attrname) {
//retrn html attribute
preg_match_all('#\s*('.$attrname.')\s*=\s*["|\']([^"\']*)["|\']\s*#i', $s, $x);
if (count($x)>=3) return $x[2][0];
return "";
}
public function hava($q,$thedate="") {
//(teşekkürler google)
if (!$thedate) $date = date("Y-m-d"); //bugün
else $date = $thedate;
if ($date>$this->dayadd(3,date("Y-m-d"),"Y-m-d"))return "";
// verileri alalım
$web_page = file_get_contents( "http://www.google.com.tr/search?q=weather+" . urlencode($q) );
//parçalayalım
preg_match_all('#<div class=e>(.*)</table>#Us', $web_page, $m);
if (count($m)>0) {
$p = array();
preg_match_all('#<img([^>]*)?>#Us', $m[0][0], $img);
for ($i=0;$i<count($img[0]);$i++) {
$tag = str_replace("src=\"/","src=\"http://www.google.it/",$img[0][$i]);
$p[$i]["date"]=$this->dayadd($i,date("Y-m-d"),"Y-m-d");
$p[$i]["title"] = $this->attr($tag,"title");
$p[$i]["img"] = $this->attr($tag,"src");
}
preg_match_all('#<nobr>(.*)</nobr>#Uis', $m[0][0], $nobr);
for ($i=0;$i<count($nobr[1]);$i++) {
$temp= explode("|",$nobr[1][$i]);
$p[$i]["min"] = trim($temp[1]) ;
$p[$i]["max"] = trim($temp[0]) ;
}
return (!$thedate?$p:$p[$date]);
}
return array();
}
}
?>Yukarıdaki dosyayı hava.fonk.php olarak kaydedelim. Daha sonra,<? include "hava.fonk.php"; //Fonksiyonumuz $c = "Bursa"; //Şehir $erguner = new erguner; $go = $erguner->hava($c); echo "<h1>".$c." hava durumu</h1>".$go[0][date]."<br>".$go[0][title]."<br><img src='".$go[0][img]."'><br>".$go[0][min]."<br>".$go[0][max]; ?>Yukarıdaki dosyayı da hava.php olarak kaydedelim ve hava.php yi çalıştıralım…
Resimli olarak bulunduğumuz günün hava durumu karşınızda!
KAYNAK : http://www.erguner.net/php/fonksiyon...le-hava-durumu