PHPは各都市の72時間天気予報コンテンツを取得します
各都市の天気予報コンテンツ data.txt のダウンロードを取得します: http://3.ibtf.sinaapp.com/data.txt [Web ページのエンコーディングに注意してください]
デモアドレス:
http://3.ibtf.sinaapp.com/?city=%E7%9F%B3%E5%AE%B6%E5%BA%84
- function getweather($city,$data='data.txt')//天気予報のコンテンツを取得します
- {
- $urlarr=unserialize(file_get_contents($data));
- if($urlarr[$city])
- {
- $url = $urlarr[$city];$text=$city;
- $lines_string = file_get_contents($url);
- $lines_string =explode("','',$lines_string[1]),str_replace('2-->','',$lines_string[2]),str_replace('3-->','' ,$lines_string_3[0]));
- for($i=0;$i< count($lines_array); $i ++)
- {
- $tiqian=array("℃","高温","低温)気温" );$tihou=array("度","","");$nowarray=str_replace($tiqian,$tihou,strip_tags($lines_array[$i]));
- $datearray=explode("日", $nowarray);$wtext[$i]=trim($datearray[0])."Day";//日付を取得します
- $weather=explode("Day",$nowarray);$weather=explode( "夜" ,$weather[1]);
- $baiarr=wchangearray(explode("r",$weather[0]));//昼間の天気
- $yearr=wchangearray(explode("r",$weather[ 1]) );//夜間の天気
- if($baiarr[0]==$yearr[0]){$wtext[$i].=$baiarr[0];}else{$wtext[$i]. =$baiarr [0]."To".$yearr[0];} //戻り値に天気を追加します
- $wtext[$i].=$baiarr[1]."To".$yearr[1] ;/ /戻り値に温度を追加します
- if($baiarr[2]==$yearr[2]){$wtext[$i].=$baiarr[2];}else{$wtext[$i] .= str_replace("wind","",$baiarr[2]."turn".$yearr[2]);$wtext[$i].="wind";}// 風向きをリターンに追加しますvalue
- if ($baiarr[3]!="Breeze"){$wtext[$i].=$baiarr[3];}//戻り値に風の力を加える
- }
- return $text.implode(" ",$wtext );
- }else{
- return "この都市の天気情報を取得できません!";
- }
- }
-
- function wchangearray($arr)//配列をキー値で並べ替えます
- {
- foreach($ arr as $v )
- {if(!trim($v))Continue;
- $value[]=trim($v);}return $value;
- }
コードをコピー
|