>  기사  >  백엔드 개발  >  PHP로 각 도시의 72시간 일기예보를 받아보세요 [China Weather Network]

PHP로 각 도시의 72시간 일기예보를 받아보세요 [China Weather Network]

WBOY
WBOY원래의
2016-07-25 09:07:041788검색
php获取各城市72小时天气预报内容
获取各城市天气预报内容data.txt下载:http://3.ibtf.sinaapp.com/data.txt[注意网页编码]
演示地址: http://3.ibtf.sinaapp.com/?city=石家庄
  1. function getweather($city,$data='data.txt')//获取天气预报内容
  2. {
  3. $urlarr=unserialize(file_get_contents($data));
  4. if($urlarr[$city])
  5. {
  6. $url = $urlarr[$city];$text=$city;
  7. $lines_string = file_get_contents($url);
  8. $lines_string = explode("','',$lines_string[1]),str_replace('2-->','',$lines_string[2]),str_replace('3-->','',$lines_string_3[0]));
  9. for($i=0;$i< count($lines_array); $i )
  10. {
  11. $tiqian=array("℃","高温","低温");$tihou=array("度","","");$nowarray=str_replace($tiqian,$tihou,strip_tags($lines_array[$i]));
  12. $datearray=explode("日",$nowarray);$wtext[$i]=trim($datearray[0])."日";//获取日期
  13. $weather=explode("白天",$nowarray);$weather=explode("夜间",$weather[1]);
  14. $baiarr=wchangearray(explode("r",$weather[0]));//白天天气
  15. $yearr=wchangearray(explode("r",$weather[1]));//夜间天气
  16. if($baiarr[0]==$yearr[0]){$wtext[$i].=$baiarr[0];}else{$wtext[$i].=$baiarr[0]."转".$yearr[0];}//将天气添加到返回值里
  17. $wtext[$i].=$baiarr[1]."到".$yearr[1];//将气温添加到返回值里
  18. if($baiarr[2]==$yearr[2]){$wtext[$i].=$baiarr[2];}else{$wtext[$i].=str_replace("风","",$baiarr[2]."转".$yearr[2]);$wtext[$i].="风";}//将风向添加到返回值里
  19. if($baiarr[3]!="微风"){$wtext[$i].=$baiarr[3];}//将风力添加到返回值
  20. }
  21. return $text.implode("",$wtext);
  22. }else{
  23. return "无法获取到该城市的天气信息!";
  24. }
  25. }
  26. function wchangearray($arr)//对数组进行键值排序
  27. {
  28. foreach($arr as $v)
  29. {if(!trim($v))continue;
  30. $value[]=trim($v);}return $value;
  31. }
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.