如何将图像添加到 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 到电子邮件功能,他们希望在 &lt;item&gt; 内的 &lt;media:content&gt; 元素中指定图像。这是他们模板中提要项的图像宏的来源。

因此,您需要添加到声明中

xmlns:media="http://search.yahoo.com/mrss/

然后在&lt;item&gt;元素里面添加

<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>&lt;p&gt; Text in the tag &lt;/p&gt;</description>

【讨论】:

或将整个批次包含在 CDATA 部分中【参考方案8】:

由于您使用的是 php,因此您可以使用 htmlentities() 对 html 标签进行编码。它们在 xml 中看起来很糟糕,但 RSS 阅读器知道如何处理它。

http://php.net/manual/en/function.htmlentities.php

【讨论】:

以上是关于如何将图像添加到 RSS 2.0 中的项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UITableViewCell 上添加 rss 图片

将图像添加到 RSS 提要的正确方法?

.NET Core 2.0 中的位图图像

如何从 php 中的 rss 提要获取图像

如何将图像添加为RSS源的一部分

如何将 Vuetify 2.0 添加到现有项目中?