web-dev-qa-db-fra.com

Comment ajouter une image à un élément dans RSS 2.0?

Est-il possible d'envoyer uniquement une image avec un lien et du texte de remplacement pour chaque élément d'un flux RSS?

J'ai regardé la balise Enclosure mais cela concerne uniquement les vidéos et la musique.

19
sanders

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 le site empêché par hotlink.

6
Jeff_Alieffson

L'élément Enclosure can peut ê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 photos de l'Agence France Presse

18
Dave Winer

Ceci est possible dans RRS2,

voir http://cyber.law.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt

Donc, vous devez utiliser la balise Enclosure, pour ajouter un média

9
Barry de Graaff

Vous devez utiliser la balise Enclosure de l'élément pour inclure l'image. Vous pouvez l'utiliser pour les images en définissant le type MIME approprié (par exemple: image/jpeg) et en incluant la taille de l'image en tant qu'attribut "longueur". L'attribut length n'a pas besoin d'être parfaitement précis, mais il est nécessaire pour que le RSS soit considéré comme valide.

Voici un article utile qui traite de cela et d’autres options.

7
Shez

Pour utiliser la fonctionnalité Mailchimp RSS to email, ils s'attendent à ce que l'image soit spécifiée dans un élément <media:content> à l'intérieur de <item>. Ceci est leur source pour la macro d'image de l'élément de fil dans leurs modèles.

Ainsi, vous devez ajouter aux déclarations

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

Ensuite, dans l'élément <item>, ajoutez

<media:content medium="image" url="http://whatever/foo.jpg" width="300" height="201" />

Sans la déclaration supplémentaire, le flux n'est pas valide car média: le contenu n'est pas un élément connu.

1
vick

Balise intérieure ITEM

<image:image xmlns:image="http://web.resource.org/rss/1.0/modules/image/">

http: // domaine . com/image.jpg </ image: image>

Description intérieure Tag

<![CDATA[

Du texte..
http: // domaine. com/image.jpg '>
Plus de texte ]]>

0
user3557421

En ce qui concerne le problème de la balise <p>, vous devez coder le code HTML dans le code XML.

Votre code ressemblerait à quelque chose comme ça:

<description>&lt;p&gt; Text in the tag &lt;/p&gt;</description>
0
Tony McCreath

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.

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

0
R.J. Steinert