Comment ajouter une image à un article dans RSS 2.0?
y a-t-il un moyen de n'envoyer qu'une Image avec un lien et du texte alt pour chaque élément d'un flux RSS?
j'ai regardé l' enclosure
tag, mais ce n'est que pour les vidéos et la musique.
8 réponses
une des solutions est D'utiliser CDATA dans la description
<![CDATA[
Image inside RSS
<img src="http://example.com/img/smiley.gif" alt="Smiley face">
]>
notez que U peut avoir un problème avec hotlink prevented site.
enclosure
l'élément être utilisé pour transmettre des images. La spécification RSS 2.0 est très claire à ce sujet, disant que le type est un type MIME. Il ne dit pas qu'il est limité à l'audio ou la vidéo.
Voici un exemple: une série de flux de photos de L'Agence France Presse
C'est possible en RRS2,
voir http://cyber.law.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt
vous devez donc utiliser la balise de fermeture, pour ajouter des médias
vous devez utiliser l'étiquette de l'élément pour inclure l'image. Vous pouvez l'utiliser pour les images en définissant le type Mime correct (par exemple: image/jpeg) et en incluant la taille de l'image comme l'attribut "longueur". L'attribut length n'a pas besoin d'être complètement précis, mais il est nécessaire pour que le RSS soit considéré valide.
Voici un article utile qui traite de cette option et d'autres.
pour travailler avec la fonctionnalité MailChimp RSS to email, ILS s'attendent à ce que l'image soit spécifiée dans un <media:content>
élément à l'intérieur de <item>
. C'est leur source pour la macro image de l'élément feed dans leurs modèles.
ainsi, vous devez ajouter aux déclarations
xmlns:media="http://search.yahoo.com/mrss/
puis à l'intérieur du <item>
ajouter un élément
<media:content medium="image" url="http://whatever/foo.jpg" width="300" height="201" />
sans la déclaration supplémentaire, le fil n'est pas valide car media:content n'est pas un élément connu.
en ce qui concerne la question des balises
, Vous devez encoder html dans le xml.
Votre code devrait ressembler à quelque chose comme ceci:
<description><p> Text in the tag </p></description>
puisque vous utilisez php, vous pouvez utiliser htmlentities() pour encoder les balises html. Ils ont l'air horrible dans le xml mais les lecteurs RSS savent quoi en faire.