新手求助取字符串问题

jellday 2008-09-17 10:12:51
<item>
<title>Wednesday: snny int, Max Temp: 16°C (61°F), Min Temp: 8°C (46°F)</title>
<link>http://www.bbc.co.uk</link>
<description>Max Temp: 16°C (61°F), Min Temp: 8°C (46°F), Wd Dtn: ESE, Wd Spd: 3mph, Vbt: poor, Prre: 1024mb, Humdty: 72%,

UV rk: low,


Plltn: low,

Srise: 06:40BST, Sset: 19:18BST</description>
<guid isPermaLink="false">tag:feeds.bbc.co.uk,(none)</guid>
<pubDate>Wed, 17 Sep 2008 08:40:15 +0000</pubDate>
<geo:lat>54.05</geo:lat>
<geo:long>-1.25</geo:long>
</item>
<item>
<title>Thursday: snny, Max Temp: 17°C (63°F), Min Temp: 8°C (46°F)</title>
<link>http://www.bbc.co.uk</link>
<description>Max Temp: 17°C (63°F), Min Temp: 8°C (46°F), Wd Dtn: SSE, Wd Spd: 3mph, Vbt: very poor, Prre: 1025mb, Humdty: 58%,

UV rk: low,


Plltn: low,

Srise: 06:42BST, Sset: 19:16BST</description>
<guid isPermaLink="false">tag:feeds.bbc.co.uk,(none)</guid>
<pubDate>Wed, 17 Sep 2008 08:40:15 +0000</pubDate>
<geo:lat>54.05</geo:lat>
<geo:long>-1.25</geo:long>
</item>

<item>
<title>Friday: lt ran, Max Temp: 17°C (63°F), Min Temp: 8°C (46°F)</title>
<link>http://www.bbc.co.uk</link>
<description>Max Temp: 17°C (63°F), Min Temp: 8°C (46°F), Wd Dtn: WSW, Wd Spd: 5mph, Vbt: good, Prre: 1028mb, Humdty: 79%,

UV rk: low,


Plltn: low,

Srise: 06:44BST, Sset: 19:13BST</description>
<guid isPermaLink="false">tag:feeds.bbc.co.uk,(none)</guid>
<pubDate>Wed, 17 Sep 2008 08:40:15 +0000</pubDate>
<geo:lat>54.05</geo:lat>
<geo:long>-1.25</geo:long>
</item>


想分别取得三段<item></item>里面的Wednesday下的snny int,Max Temp的16°C,Min Temp的8°C;Wd Dtn下的ESE, 3mph,poor,1024mb,72%; UV rk和Plltn的low, Srise的06:40BST, Sset的19:18BST;<pubDate>的Wed, 17 Sep 2008 08:40:15 +0000
存入3个数组。
...全文
271 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhuan_dlut 2008-09-21
  • 打赏
  • 举报
回复
用simplexml_load_String进行解析
dxabdepl 2008-09-21
  • 打赏
  • 举报
回复
两种方法:
正则和DOM加载操作!都可查看PHP手册!
wangydong 2008-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jakey9826 的回复:]
解析xml吧.不管是用javascript还是php.
具体请参看手册.
[/Quote]

自己动手吧,对你有好处。
himan2002 2008-09-21
  • 打赏
  • 举报
回复

$xml = simplexml_load_file('http://feeds.bbc.co.uk/weather/feeds/rss/5day/id/2315.xml');
foreach( $xml->channel->item as $item )
{
$arr = (array)$item;
$params = array();
//title
if(preg_match( '/^[^:]+:([^,]+)/is',$arr['title'],$tmp ) )
$params['Title'] = $tmp[1];

//description
$strs = explode( ',',$arr['description'] );
foreach( $strs as $v )
{
$tmp = explode( ': ',$v );
$params[trim($tmp[0])]=$tmp[1];
}
//pubdate
$params['pubDate'] = $arr['pubDate'];

echo '<pre>';
print_r( $params );
echo '</pre>';

}

jellday 2008-09-19
  • 打赏
  • 举报
回复
我想通过实例来学习.所以还麻烦大家从我的例子给个代码来学习学习.

谢谢5楼的代码. 但是有个问题, 其中<title>里面的星期是可变的。也就是说不一定是Wednesday,这样你的方法就不行了,而且你的方法得出的值还有冒号,逗号等……

等待其他的解法(代码)~~
程序猿之殇 2008-09-18
  • 打赏
  • 举报
回复
解析xml吧.不管是用javascript还是php.
具体请参看手册.
海诗美妆 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaolei1982 的回复:]
楼主可以利用js的dom或者利用php读取xml文件来解析
[/Quote]

如果使用PHP解析的话可以用PHP自带的XML转换器
http://jp2.php.net/manual/en/book.xml.php

这里是函数:
http://jp2.php.net/manual/en/ref.xml.php
xiaolei1982 2008-09-18
  • 打赏
  • 举报
回复
楼主可以利用js的dom或者利用php读取xml文件来解析
chenshuliang 2008-09-18
  • 打赏
  • 举报
回复


function substr1($startstr,$endstr,$str)
{
$allstrnum = strlen($str);//取总字符串长度
$indexnum = $allstrnum-strlen(strstr($str,$startstr));//去指定字符串的索引值
$strright = Substr($str,$indexnum);//去除指定字符串的左边
$strnum = $allstrnum-strlen(strstr($str,$endstr));//取指定字符串的索引值
$f = Substr($strright,0,$strnum);//去除右边
$g = Substr(Trim($f),strlen($startstr));//得到数字
return Trim($g);
}

$doc=new DOMDocument();
$doc->load('xxx.xml');
$titles=$doc->getElementsByTagName("item");
$vla=$titles->item(0)->nodeValue;

echo substr1("Wednesday:","Max Temp",$vla);//显示snny int
iasky 2008-09-17
  • 打赏
  • 举报
回复
正则。

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧