Коллеги, появилась у меня возможность разместить свою rss ленту в ленте новостей УкрНет.
Два требования не понял:
1. <rss version="2.0" xmlns=http://backend.userland.com/rss2 xmlns:yandex="http://news.yandex.ru">
Обязательное поле должно быть такого вида
Подключение xmlns=http://backend.userland.com/rss2 xmlns:yandex="http://news.yandex.ru" Обязательно.
Корневым элементом RSS-файла является <rss>, атрибут version которого должен иметь значение 2.0: <rss version="2.0">
2. <yandex:full-text> Полнотекст новости без HTML кода и спецсимволов </yandex:full-text>
Обязательное поле.
Содержит полный текст новости.
Если в полнотексте присутствуют спецсимволы в явном виде, нужно использовать <![CDATA[ ТЕКСТ ]]>.
Абзацы а полнотексте определяются пустой строчкой смотреть «Good_RSS_minimal.xml».
Как их поставить и где это делается?
rss для УкрНет
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
#1
22 января 2013 в 19:09
#2
22 января 2013 в 19:15
это фактически стандарт rss yandex news
#3
22 января 2013 в 19:21
maxisoft, ну а как вставить полную статью в rss, чтобы удовлетворить требования?
Сегодня в 12:35
#4
22 января 2013 в 19:42
if (isset($item['content'])){
$rss .= '<yandex:full-text><![CDATA['.trim(htmlspecialchars(strip_tags($item['content']))).']]></yandex:full-text>' ."\n";
}
$rss .= '<yandex:full-text><![CDATA['.trim(htmlspecialchars(strip_tags($item['content']))).']]></yandex:full-text>' ."\n";
}
#5
23 января 2013 в 12:49
Коллеги, подскажите еще такую вещь. Вот если у меня есть
if (isset($item['description'])){
$rss .= '<description><![CDATA['.trim(htmlspecialchars(strip_tags($item['description']))).']]></description>' ."\n";
}
но при этом в самой базе данных значения нет — то есть краткое содержание не добавляли. админы Укр.Нет просят в таком случае выводить, например первые 100 символов из полной записи…
Как:
а) добавить условие, что есть поле description пустое, то берем второй случай
if (isset($item['description'])){
$rss .= '<description><![CDATA['.trim(htmlspecialchars(strip_tags($item['description']))).']]></description>' ."\n";
}
else?
б) как выбрать первые 100 символов?
if (isset($item['description'])){
$rss .= '<description><![CDATA['.trim(htmlspecialchars(strip_tags($item['description']))).']]></description>' ."\n";
}
но при этом в самой базе данных значения нет — то есть краткое содержание не добавляли. админы Укр.Нет просят в таком случае выводить, например первые 100 символов из полной записи…
Как:
а) добавить условие, что есть поле description пустое, то берем второй случай
if (isset($item['description'])){
$rss .= '<description><![CDATA['.trim(htmlspecialchars(strip_tags($item['description']))).']]></description>' ."\n";
}
else?
б) как выбрать первые 100 символов?
#6
23 января 2013 в 19:09
ап
#7
3 марта 2013 в 18:14
решено