2010-06-22 82 views
2

我正在使用Yahoo!天氣RSS源,以獲得我的城市預測。我可以解析XML和獲取天氣的描述,但後來我得到這樣一個結果:解析來自Yahoo!的某些信息天氣RSS Feed

<img src="http://l.yimg.com/a/i/us/we/52/11.gif"/><br /> 
<b>Current Conditions:</b><br /> 
Light Rain, 18 C<BR /> 
<BR /><b>Forecast:</b><BR /> 
Tue - PM Thundershowers. High: 25 Low: 16<br /> 
Wed - Rain. High: 23 Low: 17<br /> 
<br /> 
<a href="http://us.rd.yahoo.com/dailynews/rss/weather/Constanta__RO/*http://weather.yahoo.com/forecast/ROXX0034_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/> 
(provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/> 

我正則表達式的技能幾乎爲零,所以我問了一些幫助解析以下信息:

  • 從IMG SRC在第一行中的鏈路
  • 號在第三行的輩分(C之前)

謝謝。

回答

3

這將得到IMG來源:

src="(.*?)"

剛剛獲得第一組(括號之間的區域)

,這將讓度:

.*?, (\d+) C

再次,剛剛獲得第一組。

$input = '<img src="http://l.yimg.com/a/i/us/we/52/11.gif"/><br />'. 
"<b>Current Conditions:</b><br />". 
"Light Rain, 18 C<BR />". 
"<BR /><b>Forecast:</b><BR />". 
"Tue - PM Thundershowers. High: 25 Low: 16<br />". 
"Wed - Rain. High: 23 Low: 17<br />". 
"<br />". 
'<a href="http://us.rd.yahoo.com/dailynews/rss/weather/Constanta__RO/*http://weather.yahoo.com/forecast/ROXX0034_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/>'. 
'(provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/>'; 

$imgpattern = '/src="(.*?)"/i'; 
preg_match($imgpattern, $input, $matches); 
$imgsrc = $matches[1]; 

$degpattern = '/.*?, (\d+) C/i'; 
preg_match($degpattern, $input, $matches); 
$degs = $matches[1]; 
+0

一個例子會很棒。謝謝! – Psyche 2010-06-22 00:24:03

+0

它的作品,非常感謝你! – Psyche 2010-06-22 09:44:03

+0

當然,沒問題 – 2010-06-22 14:44:45