Hallo m.jansen
Es ist eigentlich ganz einfach: Die Funktion
schreibt in die Variable «$Pos» beim wievielten Zeichen «low data="» anfängt. In der folgenden Zeile
Wird der Sub-String ("Rest-Zeichenkette") ab der Position, die nach "$Pos plus 10 Zeichen" anfängt in den Wetter-String zurückgeschrieben.
Ich habe mal blau eingefärbt, was mit der ersten Funktion "gezählt" wird und grün, was nach der zweiten Funktion übrig bleibt. Das rote dazwischen ist der Suchstring (10 Zeichen), der auch entfernt wird:
<xml_api_reply version="1">
−
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
−
<forecast_information>
<city data="Aachen, North Rhine-Westphalia"/>
<postal_code data="Aachen"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
<forecast_date data="2011-06-21"/>
<current_date_time data="2011-06-21 10:55:00 +0000"/>
<unit_system data="SI"/>
</forecast_information>
−
<current_conditions>
<condition data="Meistens bewölkt"/>
<temp_f data="66"/>
<temp_c data="19"/>
<humidity data="Feuchtigkeit: 73 %"/>
<icon data="/ig/images/weather/mostly_cloudy.gif"/>
<wind_condition data="Wind: SW mit 26 km/h"/>
</current_conditions>
−
<forecast_conditions>
<day_of_week data="Di."/>
<low data="14"/><high data="20"/>
<icon data="/ig/images/weather/chance_of_rain.gif"/>
<condition data="Vereinzelt Regen"/>
</forecast_conditions>
−
<forecast_conditions>
<day_of_week data="Mi."/>
<low data="11"/>
<high data="20"/>
<icon data="/ig/images/weather/chance_of_storm.gif"/>
<condition data="Vereinzelt stürmisch"/>
</forecast_conditions>
−
<forecast_conditions>
<day_of_week data="Do."/>
<low data="8"/>
<high data="17"/>
<icon data="/ig/images/weather/chance_of_storm.gif"/>
<condition data="Vereinzelt stürmisch"/>
</forecast_conditions>
−
<forecast_conditions>
<day_of_week data="Fr."/>
<low data="9"/>
<high data="14"/>
<icon data="/ig/images/weather/chance_of_rain.gif"/>
<condition data="Vereinzelt Regen"/>
</forecast_conditions>
</weather>
</xml_api_reply>
Im zweiten Durchgang weiter unten (morgen/Mittwoch) wird dann noch das "/> hinter dem Temperaturwert gesucht und nur ab Position 0 bis zum Anfang dieses Suchstrings in die Variable MorgenMini geschrieben; im Beispiel also 11.
Das erste Zeichen bei diesen Funktionen ist übrigens jeweils 0, also
gibt 0 zurück, weil A das nullte Zeichen im String ABC ist!
Die ganzen PHP-Funktionen sind übrigens
hier sehr gut beschrieben!
Viele Grüsse
Bümpi