实例:http://www.zj7.com/feed/,实际路径:http://www.zj7.com/feed/index.php。创建一个扩展名为.php的文件,在这个.php文件中,开头写入如下这句,PHP文件格式即可转化为XML格式:
然后可以参考别人的RSS文件的编写方式,如果已经可以正常运行,后面的文字无需阅读。RSS文件唯一要注意的是标签,对发布时间的格式有严格要求,否则用户第一次订阅您的RSS时,文章无法按发布时间来排列(发布时间的格式仅对用户第一次订阅RSS时有影响,如果格式不正确也不要紧)。
有的网友问,为什么写入这句仍无效?
因为使用header()函数,需要去掉BOM(Unicode签名),然后将header()语句写在最前,否则PHP程序会报错。去掉BOM的方法请参考我写的这篇http://www.auiou.com/relevant/00000470.jsp。防止header()函数报错的另一种方法,先去掉BOM,然后在文件的最前写入ob_start();这句。
如果输出的XML编码中,有<?和 ?>,需要将?号转化为chr(63)的形式,或者使用引号,使有?号的语句在引号中,否则会被认为是PHP程序来运行而报错。例如我的.php的RSS文件中,有这样一句:<?xml version="1.0" encoding="UTF-8"?>,这样会报错。解决的方法是:<=chr(63)?>xml version="1.0" encoding="UTF-8"=chr(63)?>>,或者这样='<?xml version="1.0" encoding="UTF-8"?>'?>,或者<?echo '<?xml version="1.0" encoding="UTF-8"?>'?>。
1条评论:
1 自由勇 2009-04-14 12:37
Trackback来自 《我的PHP最佳编程工具是EmEditor》
在PHP程序里,如果网页使用UTF-8格式和语言,BOM(Unicode签名)有一些障碍,所以需要去掉BOM。