it-roy-ru.com

Как добавить изображение к элементу в RSS 2.0?

Есть ли способ отправить только изображение со ссылкой и альт-текстом для каждого элемента в RSS-канале? 

Я посмотрел на тег Enclosure, но это только для видео и музыки. 

19
sanders

Одним из решений является использование CDATA в описании

<![CDATA[
  Image inside RSS
  <img src="http://example.com/img/smiley.gif" alt="Smiley face">         
]> 

Обратите внимание, что у U может быть проблема с предотвращенным хотлинком сайтом.

6
Jeff_Alieffson

Элемент Enclosureможет использоваться для передачи изображений. Спецификация RSS 2.0 довольно ясно говорит об этом, говоря, что тип является MIME-типом. Это не говорит, что это ограничено аудио или видео. 

Вот пример: набор фотоканалов от Agence France Presse

18
Dave Winer

Это возможно в RRS2,

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

Таким образом, вы должны использовать тег Enclosure, чтобы добавить медиа

9
Barry de Graaff

Вы должны использовать тег Enclosure внутри элемента, чтобы включить изображение. Вы можете использовать его для изображений, установив правильный MIME-тип (например, image/jpeg) и включив размер изображения в качестве атрибута «length». Атрибут длины не должен быть полностью точным, но он необходим для того, чтобы RSS считался действительным.

Вот полезная статья , в которой обсуждаются этот и другие варианты.

7
Shez

Для работы с функцией Mailchimp RSS to email они ожидают, что изображение будет указано в элементе <media:content> внутри <item>. Это их источник для макроса изображения элемента фида в их шаблонах.

Таким образом, вам нужно добавить в декларации

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

Затем внутри элемента <item> добавьте

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

Без дополнительного объявления фид недействителен, поскольку media: content не является известным элементом.

1
vick

Внутренний тег ITEM

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

http: // домен . com/image.jpg </ image: image>

Тег внутри описания

<![CDATA[

Немного текста ..
hTTP: // домен. com/image.jpg '>
Больше текста ]]>

0
user3557421

Что касается проблемы с тегом <p>, вам необходимо закодировать HTML в XML.

Ваш код будет выглядеть примерно так:

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

Поскольку вы используете php, вы можете использовать htmlentities () для кодирования тегов html. Они выглядят ужасно в XML, но читатели RSS знают, что с этим делать.

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

0
R.J. Steinert