Thorsten: Gradzeichen mit preg_replace ersetzen?

Beitrag lesen

  
<?  
  
$url = "http://deutsch.wunderground.com/auto/rss_full/global/stations/10708.xml";  
$content = implode("", file($url));  
  
preg_match_all("/\<item>(.*?)\<\/item\>/si", $content, $results);  
preg_match("/\<description\>(.*?)\<\/description\>/si", $results[1][0], $desc);  
  
$arr = explode(" | ",$desc[1]);  
  
/*  
 * echo '<pre>' . print_r($arr, true) . '</pre>';  
 *  
 * Array  
 * (  
 *     [0] => Temperature: 86°F / 30°C  
 *     [1] => Humidity: 74%  
 *     [2] => Pressure: 29.83in / 1010hPa  
 *     [3] => Conditions: Partly Cloudy  
 *     [4] => Wind Direction: ESE  
 *     [5] => Wind Speed: 5mph / 7km/h  
 *     [6] => Updated: 10:00 PM PHT  
 * )  
 */  
  
preg_match("/([0-9]+)[^0-9]+([0-9]+)/", $arr[0], $str);  
$wetter['temp'] = $str['2'];  
  
preg_match("/Conditions: (.*)/si", $arr[3], $str);  
$wetter['verh'] = $str['1'];  
  
preg_match("/Wind Direction: (.*)/si", $arr[4], $str);  
$wetter['windr'] = $str['1'];  
  
preg_match("/Wind Speed: (.*?)mph \/ (.*?)km\/h/si", $arr[5], $str);  
$wetter['windg'] = $str['2'];  
  
preg_match("/Pressure: (.*?)inch \/ (.*?)hPa/si", $arr[2], $str);  
$wetter['press'] = $str['2'];  
  
  
//Weterdaten  
switch($wetter['verh'])  
{  
    case 'Partly Cloudy':  
        $wetter['verh'] = 'Teils wolkig';  
    break;  
  
     case 'Mostly Cloudy':  
        $wetter['verh'] = '&Uuml;berwiegend wolkig';  
    break;  
  
    case 'Scattered Clouds':  
        $wetter['verh'] = 'Teils wolkig';  
    break;  
  
    case 'Overcast':  
        $wetter['verh'] = 'Bew&ouml;lkt';  
    break;  
  
    case 'Clear':  
        $wetter['verh'] = 'Heiter';  
    break;  
  
     case 'Fog':  
        $wetter['verh'] = 'Nebel';  
    break;  
  
     case 'Heavy Fog':  
        $wetter['verh'] = 'Starker Nebel';  
    break;  
  
     case 'Light Fog':  
        $wetter['verh'] = 'Leicher Nebel';  
    break;  
  
    case 'Thunderstorm':  
        $wetter['verh'] = 'Gewitter';  
    break;  
  
    case 'Light Thunderstorm':  
        $wetter['verh'] = 'Leichte Gewitter';  
    break;  
  
    case 'Heavy Thunderstorm':  
        $wetter['verh'] = 'Starke Gewitter';  
    break;  
  
     case 'Thunderstorms and Rain':  
        $wetter['verh'] = 'Gewitter mit Regen';  
    break;  
  
     case 'Light Thunderstorms and Rain':  
        $wetter['verh'] = 'Leichte Gewitter mit Regen';  
    break;  
  
     case 'Light Rain Showers':  
        $wetter['verh'] = 'Leichte Regenschauer';  
    break;  
  
     case 'Heavy Rain Showers':  
        $wetter['verh'] = 'Starke Regenschauer';  
    break;  
  
     case 'Light Rain':  
        $wetter['verh'] = 'Leichter Regen';  
    break;  
  
     case 'Haze':  
        $wetter['verh'] = 'Tr&uuml;be';  
    break;  
  
      case 'Patches of Fog':  
        $wetter['verh'] = 'Nebelfelder';  
    break;  
  
      case 'Unknown Percipitation':  
        $wetter['verh'] = 'Ung. Niederschl&auml;ge';  
    break;  
  
    case 'Light Drizzle':  
        $wetter['verh'] = 'Leichter Spr&uuml;hregen';  
    break;  
  
    case 'Mist':  
        $wetter['verh'] = 'Leichter Nebel';  
    break;  
  
    case 'Light Rain Mist':  
        $wetter['verh'] = 'Leichter Nebel';  
    break;  
  
    default:  
        $wetter['verh'] = $wetter['verh'];  
    break;  
}  
  
  
//Windrichtungen  
switch($wetter['windr'])  
{  
    case 'North':  
        $wetter['windr'] = 'Norden';  
    break;  
  
    case 'East':  
        $wetter['windr'] = 'Osten';  
    break;  
  
    case 'South':  
        $wetter['windr'] = 'S&uuml;den';  
    break;  
  
     case 'West':  
        $wetter['windr'] = 'Westen';  
    break;  
  
    case 'SE':  
        $wetter['windr'] = 'SO';  
    break;  
  
    case 'SSE':  
        $wetter['windr'] = 'SSO';  
    break;  
  
    case 'NE':  
        $wetter['windr'] = 'NO';  
    break;  
  
    case 'ESE':  
        $wetter['windr'] = 'OSO';  
    break;  
  
    case 'NNE':  
        $wetter['windr'] = 'NNO';  
    break;  
  
    case 'ENE':  
        $wetter['windr'] = 'ONO';  
    break;  
  
    case 'Calm':  
        $wetter['windr'] = 'Windstill';  
    break;  
  
    default:  
        $wetter['windr'] = $wetter['windr'];  
    break;  
}  
  
  
  
echo '<pre>' . print_r($wetter, true) . '</pre>';  
?>  

----------------

Und heraus kommt dann folgendes:

Array
(
    [temp] => 176
    [verh] => Überwiegend wolkig
    [windr] => NW
    [windg] => 11
    [press] => 1016
)