Reputation: 10888
Is there a way to send only an Image with a link and some alt text for each item in an RSS feed?
I looked at the enclosure
tag but this is only for videos and music.
Upvotes: 31
Views: 77541
Reputation: 199
To work with the Mailchimp RSS to email feature, they expect the image to be specified in a <media:content>
element inside <item>
. This is their source for the feed item's image macro in their templates.
Thus, you need to add to the declarations
xmlns:media="http://search.yahoo.com/mrss/"
Then inside the <item>
element add
<media:content medium="image" url="http://whatever/foo.jpg" width="300" height="201" />
Without the extra declaration, the feed is invalid since media:content is not a known element.
Upvotes: 8
Reputation: 2872
One of solutions is to use CDATA in description
<![CDATA[
Image inside RSS
<img src="http://example.com/img/smiley.gif" alt="Smiley face">
... further content ...
]]>
Note, that you may have a problem with hotlink prevented site.
Upvotes: 16
Reputation: 75666
In rss 2.0 its as simple as adding an <image><url>...</url></image>
tag:
https://validator.w3.org/feed/docs/rss2.html#ltimagegtSubelementOfLtchannelgt
<image>
sub-element of <channel>
*
<image>
is an optional sub-element of <channel>
, which contains three required and three optional sub-elements.
<url>
is the URL of a GIF, JPEG or PNG image that represents the channel.
<title>
describes the image, it's used in the ALT attribute of the HTML <img>
tag when the channel is rendered in HTML.
<link>
is the URL of the site, when the channel is rendered, the image is a link to the site. (Note, in practice the image <title>
and <link>
should have the same value as the channel's <title>
and <link>
.
Optional elements include <width>
and <height>
, numbers, indicating the width and height of the image in pixels. <description>
contains text that is included in the TITLE attribute of the link formed around the image in the HTML rendering.
Maximum value for width is 144, default value is 88.
Maximum value for height is 400, default value is 31.
Upvotes: -2
Reputation: 153
Inside tag ITEM
<image:image xmlns:image="http://web.resource.org/rss/1.0/modules/image/">
http://domain. com/image.jpg < /image:image>
Inside Description Tag
<![CDATA[
Some Text..
<br/><img src='http://domain. com/image.jpg' ><br/>
More Text
]]>
Upvotes: 1
Reputation: 1917
The enclosure
element can be used to transmit pictures. The RSS 2.0 spec is quite clear about that, saying that the type is a MIME type. It does not say it is restricted to audio or video.
Here's an example: a set of photo feeds from Agence France Presse
Upvotes: 27
Reputation: 121
This is possible in RRS2,
see http://cyber.law.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt
So you have to use the enclosure tag, to add media
Upvotes: 12
Reputation: 189
Since you are using php you can use htmlentities() to encode the html tags. They look horrible in the xml but RSS readers know what to do with it.
http://php.net/manual/en/function.htmlentities.php
Upvotes: 0
Reputation: 87
You should use the enclosure tag within item to include the image. You can use it for images by setting the correct Mime Type (for example: image/jpeg) and including the image size as the "length" attribute. The length attribute doesn't need to be completely accurate but it's required for the RSS to be considered valid.
Here's a helpful article that discusses this and other options.
Upvotes: 6
Reputation: 3399
Regarding the <p> tag issue, You need to encode html within the xml.
Your code would look something like this:
<description><p> Text in the tag </p></description>
Upvotes: 0