Chinaunix

标题: 天气预报 数据获取 [打印本页]

作者: webvista    时间: 2006-11-21 12:50
标题: 天气预报 数据获取

?php
/**
* 天气日报 数据获取
* 编码:gb2312
* 建议写成 cache 使用
* 希望大家能帮我把代码写得更好一点
*
* @author 潘春孟
* @version 0.00 2006.11.21
* @param int $id
* @return Array weather
*/
function weather($id=59431){
    $from= str_replace("\n",'',file_get_contents("http://www.weathercn.com/forecast/24time.jsp?sta_id=$id"));
   
    preg_match_all("/(.*?)/",$from,$element);
   
    $element[0][10]=str_replace('','',$element[0][10]);
    $element[0][10]=str_replace('','',$element[0][10]);
    $element[0][10]=str_replace(',',$element[0][10]);
   
    if(strspn('.gif',$element[0][11])){
        $pic2=1;
        $element[0][11]=str_replace('','',$element[0][11]);
     $element[0][11]=str_replace('','',$element[0][11]);
     $element[0][11]=str_replace(',',$element[0][11]);
     $pic2Eliment=$element[0][11];
    }
    else{
        $pic2=0;
        $pic2Eliment='';
    }
   
    $weather=array(
     '时间' => trim(strip_tags($element[0][9])),
     '天气云图' => trim($element[0][10]),
     '天气云图2' => trim($pic2Eliment),
     '气温' => trim(strip_tags($element[0][11+$pic2])),
     '风讯' => trim(strip_tags($element[0][12+$pic2])),
     '天气描述' => trim(strip_tags($element[0][25+$pic2])),
     '地理描述' => trim(strip_tags($element[0][28+$pic2])),
     );
     
    $element028=explode('|',strip_tags($element[0][28+$pic2]));
   
    $weather['日出']=trim($element028[0]);
    $weather['日落']=trim($element028[1]);
    $weather['东经']=trim($element028[2]);
    $weather['北纬']=trim($element028[3]);
    $weather['海拔']=trim($element028[4]);
   
    //print_r($weather);
    return $weather;
}
print_r(Weather(45011));
?>


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17173/showart_204158.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2