MagpieRSS在PHP5下解析atom时间戳出错问题的解决: gmmktime() expects parameter 3 to be long


迟迟没有将服务器的PHP升级到php 5,就是很久以前发现有lilina有个bug:个别频道的内容全部都排到最前了,而发表时间全部变为抓取时间。今天升级到php 5.2.3以后,在线debug了一下这个RSS解析问题终于把这个问题暂时解决了。为什么PHP4下不会出错,PHP5就出错了呢?

发现其实在magpie_rss包的目录下:还有一个专门用于debug的小脚本,一一测试了一下,发现是ATOM格式的来源都有这个问题,跟踪了一下,还是parse_w3cdtf()里的问题,只不过这次的问题是:gmmktime() expects parameter 3 to be long, 就是第三个参数太长了,第三个参数是秒,干脆强制将秒设置为0了(发布时间只精确到分种即可),diff -r1.7 rss_utils.inc
---
> $seconds = 0;
35c35

这种字符串应该有个更标准的解析函数了吧?

作者:车东 发表于:2007-08-20 18:08 最后更新于:2008-01-10 23:01
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)