如何将图像添加到 RSS 2.0 中的项目?
Posted
技术标签:
【中文标题】如何将图像添加到 RSS 2.0 中的项目?【英文标题】:How do I add an image to an item in RSS 2.0? 【发布时间】:2010-10-16 20:30:50 【问题描述】:有没有办法只为 RSS 提要中的每个项目发送带有链接和一些替代文本的图像?
我查看了enclosure
标签,但这仅适用于视频和音乐。
【问题讨论】:
【参考方案1】:enclosure
元素可以用来传输图片。 RSS 2.0 规范对此非常清楚,说该类型是 MIME 类型。它并没有说它仅限于音频或视频。
这是一个例子:a set of photo feeds from Agence France Presse
【讨论】:
链接中的当前xml文件似乎没有附件。 前一个链接没有任何附件示例。这是一个示例:How do I show images in my RSS email?【参考方案2】:解决方案之一是在描述中使用 CDATA
<![CDATA[
Image inside RSS
<img src="http://example.com/img/smiley.gif" >
]>
请注意,您可能会遇到阻止热链接的网站的问题。
【讨论】:
【参考方案3】:这在 RRS2 中是可能的,
见 http://cyber.law.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt
所以你必须使用附件标签来添加媒体
【讨论】:
【参考方案4】:您应该在项目中使用附件标签来包含图像。您可以通过设置正确的 Mime 类型(例如:image/jpeg)并将图像大小包含为“长度”属性来将其用于图像。长度属性不需要完全准确,但需要 RSS 才能被视为有效。
这是一个helpful article,讨论了这个选项和其他选项。
【讨论】:
【参考方案5】:要使用 Mailchimp RSS 到电子邮件功能,他们希望在 <item>
内的 <media:content>
元素中指定图像。这是他们模板中提要项的图像宏的来源。
因此,您需要添加到声明中
xmlns:media="http://search.yahoo.com/mrss/
然后在<item>
元素里面添加
<media:content medium="image" url="http://whatever/foo.jpg" />
没有额外声明,Feed 无效,因为 media:content 不是已知元素。
【讨论】:
我已经完成了quick implementation for WordPress RSS feed。【参考方案6】:内部标签ITEM
<image:image xmlns:image="http://web.resource.org/rss/1.0/modules/image/">
http://domain。 com/image.jpg
内部描述标签
<![CDATA[
Some Text..
<br/><img src='http://domain. com/image.jpg' ><br/>
More Text
]]>
【讨论】:
【参考方案7】:关于
标签问题,需要在xml中编码html。
您的代码将如下所示:
<description><p> Text in the tag </p></description>
【讨论】:
或将整个批次包含在 CDATA 部分中【参考方案8】:由于您使用的是 php,因此您可以使用 htmlentities() 对 html 标签进行编码。它们在 xml 中看起来很糟糕,但 RSS 阅读器知道如何处理它。
http://php.net/manual/en/function.htmlentities.php
【讨论】:
以上是关于如何将图像添加到 RSS 2.0 中的项目?的主要内容,如果未能解决你的问题,请参考以下文章