我在我的网站上用PHP创建自己的RSS源,它从我的网站加载了一个名为“博客”的博客,除了一件事以外它都可以正常工作......没有图像出现在文章。这是我的代码的输出部分:
while($data = mysql_fetch_assoc($news))
{
echo "<item>" . chr(10);
echo "<title>[$data[type]] $data[name]</title>" . chr(10);
echo "<author>Johannes Jensen</author>" . chr(10);
echo "<link>http://www.funbyjohn.com/v2/?blog=$data[url]</link>" . chr(10);
echo "<image>" . chr(10);
if($data["type"] == "text")
{
$imageurl = "http://www.funbyjohn.com/v2/gfx/mini_me.png";
} else
{
$imageurl = "http://www.funbyjohn.com/v2/media/thumb-$data[date].png";
}
echo "<src>$imageurl</src>" . chr(10);
echo "<title>$data[name]</title>" . chr(10);
echo "<link>http://www.funbyjohn.com/v2/?blog=$data[url]</link>" . chr(10);
echo "</image>" . chr(10);
if($data["type"] == "text")
{
$content = $data["content"];
} else
{
$content = $data["label_info"];
}
echo "<description>" . strip_tags(preg_replace("/\n+/", " ", $content)) . "</description>" . chr(10);
echo "<pubDate>" . date("D, j M Y H:i:s", $data["date"]) . " GMT</pubDate>" . chr(10);
echo "</item>" . chr(10);
}
这是一篇文章输出的例子
<item>
<title>[image] Here's a new screenshot from Go Sheep!</title>
<author>Johannes Jensen</author>
<link>http://www.funbyjohn.com/v2/?blog=heres-a-new-screenshot-from-go-sheep</link>
<image>
<src>http://www.funbyjohn.com/v2/media/thumb-1277466055.png</src>
<title>Here's a new screenshot from Go Sheep!</title>
<link>http://www.funbyjohn.com/v2/?blog=heres-a-new-screenshot-from-go-sheep</link>
</image>
<description>*article goes here*</description>
<pubDate>Fri, 25 Jun 2010 06:40:55 GMT</pubDate>
</item>
我做错了吗?请帮忙。
这是我感兴趣的任何人的RSS提要:
http://www.funbyjohn.com/v2/rss.php
答案 0 :(得分:2)
我认为您需要使用<url>
代替<src>
。
http://cyber.law.harvard.edu/rss/rss.html#ltimagegtSubelementOfLtchannelgt
答案 1 :(得分:0)
CDATA - (未分析)字符数据
术语CDATA用于不应由XML解析器解析的文本数据。
像“&lt;”这样的字符和“&amp;”在XML元素中是非法的。
“&LT;”将生成错误,因为解析器将其解释为新元素的开头。
“&安培;”将生成错误,因为解析器将其解释为字符实体的开头。
有些文字,比如javascript代码,包含很多“&lt;”或“&amp;”字符。为避免错误,脚本代码可以定义为CDATA。
解析器会忽略CDATA部分内的所有内容。
CDATA部分以<![CDATA[
开头,以]]>