php - 解析来自 Yahoo! 的某些信息天气 RSS 源

标签 php regex

我正在使用雅虎!天气 RSS 提要以获得我所在城镇的天气预报。我可以解析 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 之前)

谢谢。

最佳答案

这将获取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];

关于php - 解析来自 Yahoo! 的某些信息天气 RSS 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3089363/

相关文章:

php - PHP 中的 CardDAV 服务器

php - 以 phpmyadmin 格式获取 PHP 中的当前时间戳

javascript 使用脚本点击按钮

regex - 如何将 Sublime Text 设置为自动匹配括号但既不匹配引号也不匹配括号?

regex - R dplyr : rename variables using string functions

javascript - 测试数字是否符合 xxx.xx 模式

javascript - 正则表达式 - 仅当字符串包含任何其他字符时才允许某些字符

php - 如何刷新正在执行php代码的div

regex - 如何在 VBA 中使用正则表达式测试特定字符

Java正则表达式;需要映射\' to ''