Разбор определенной информации от Yahoo!Погода RSS Feed - PullRequest
2 голосов
/ 22 июня 2010

Я использую Yahoo!Погода RSS Feed, чтобы получить прогноз для моего города.Я могу разобрать XML и получить описание погоды, но затем я получаю результат, подобный следующему:

<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)

Спасибо.

1 Ответ

3 голосов
/ 22 июня 2010

Получит источник 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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...