Вопрос по RSS

galaid
На сайте с 13.09.2011
Offline
16
608

Здраствуйте. У меня имеется два вовроса по поводу RSS-канала.

1-ый вопрос:

Приведена часть кода канала. Почему в первом случае канал отображается корректно, а во втором случае вообще не отображается:

<rss version="2.0">

<channel>

<?xml version="1.0" encoding="windows-1251"?>

<rss version="2.0">
<channel>

2-ой вопрос:

Канал вообще не отображается в браузере IE. Браузер ругается на русские символы между тегами <title></title>, <description></description> и т.д. В чем проблема?

RSS-канал имеет формат rss.php. Данные подгружаются из БД.

bbon
На сайте с 01.04.2006
Offline
168
#1

Здесь http://validator.w3.org/feed/ проверяли?

KK
На сайте с 25.07.2006
Offline
138
#2

скиньте ссылку на рсс. легче сказать, когда весь код видишь..

<?xml version="1.0" encoding="windows-1251"?>

это обязательно должно быть для rss.

palladin_jedi
На сайте с 13.07.2010
Offline
71
#3
galaid:
RSS-канал имеет формат rss.php. Данные подгружаются из БД.

Скидываю порезанный рабочий пример.

<?php

// Задаем формат даты
define('DATE_FORMAT_RFC822','r');
// Сообщяем браузеру что передаем XML
header("Content-type: text/xml; charset=UTF-8");

// Дата последней сборки фида
$lastBuildDate=date(DATE_FORMAT_RFC822);

echo <<<END
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>mycars.com.ua RSSFeed</title>
<link>http://site.com.ua</link>
<description>Отличный сайт о автомобилях</description>
<pubDate>$lastBuildDate</pubDate>
<lastBuildDate>$lastBuildDate</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>Made by hands</generator>
<copyright>Copyright 2011</copyright>
<managingEditor>support@domain.com.ua (Admin)</managingEditor>
<webMaster>support@domaiin.com.ua (Admin)</webMaster>
<language>ru</language>
END;

//включение файлы с функциями и доступа к базе.
include ("functions.php");


$query = "SELECT s_title, s_announce, id, s_img, UNIX_TIMESTAMP(d_date) as pubdate
FROM news
ORDER by d_date desc
LIMIT 0,20";

$res = mysql_query($query);
while ($row=mysql_fetch_array($res)) {
//выборка из базы
$title = strip_tags(trim($row['s_title']));
$anon = $row['s_announce'];
$url = "http://".$_SERVER['SERVER_NAME']."/news_details.php?id=".$row['id'];
$pubDate = date(DATE_FORMAT_RFC822, $row['pubdate']);
//изображение в блок
if (($row['s_img']{0}) != "/") {
$img = 'http://'.$_SERVER['SERVER_NAME'].'/uploads/'.$row['s_img'];
}
else {
$img = 'http://'.$_SERVER['SERVER_NAME'].$row['s_img'];
}

echo <<<END
<item>
<title>$title</title>
<description><![CDATA[<img src="$img" height="90" width="60"/> $anon]]></description>
<link>$url</link>
<guid isPermaLink="true">$url</guid>
<pubDate>$pubDate</pubDate>
</item>
END;
}

echo <<<END
</channel>
</rss>
END;
?>

P.S. Форум квадратные скобки режет, так что учти.

Рабочий адрес фида - http://myauto.all-real-property.info/rss-feed.php

Полностью валиден.

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
SK
На сайте с 31.08.2007
Offline
81
#4

header("Content-type: text/xml; charset=UTF-8");

и

<?xml version="1.0" encoding="windows-1251"?>

это сразу менять, либо UTF либо 1251 и там и там

=)

Нужен перенос информации? Информеры на сайт? Сграбить контент? Создать базу товаров? Изготовление любых парсеров! (/ru/forum/836197)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий