Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.02.2009, 22:44
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
валидная рсс-лента
сделал вот такую:
PHP код:
<?php if(!defined('TRAZH')) die;
header("Content-type: text/xml");
echo '<root><?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>The Даун Таун. Обитель Треша и Жести</title>
<link>http://thedowntown.ru</link>
<description>'.getPhrase('descr').'</description>
<lastBuildDate>'.date('r', time()).'</lastBuildDate>
<language>ru</language>';
$res = $db->query("SELECT title, alias, day, month, year, preview FROM trazh_creative ORDER BY tid DESC LIMIT 0, 30", 1);
if($db->numRows)
foreach($res as $trazh){
$pubTime = date("r", mktime(0, 0, 0, $trazh['month'], $trazh['day'], $trazh['year']));
echo '<item>
<title>'.$trazh['title'].'</title>
<link>http://thedowntown.ru/trazh/'.$trazh['alias'].'</link>
<description>'.$trazh['preview'].'</description>
<pubDate>'.$pubTime.'</pubDate>
</item>';
}
echo "</channel>\n</rss></root>";
выводит:
PHP код:
<root><?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>The Даун Таун. Обитель Треша и Жести</title>
<link>http://thedowntown.ru</link>
<description>Авторский проект Дикса о мёртвом городке Даун Таун и Науме.<br>Треш и жесть, упакованные
в качественную литературную обёртку.<br> Психически неуравновешенным к прочтению не рекомендуется.</description>
<lastBuildDate>Thu, 12 Feb 2009 00:39:53 +0600</lastBuildDate>
<language>ru</language><item>
<title>asdsadasdas</title>
<link>http://thedowntown.ru/trazh/asds</link>
<description>adsdasdas</description>
<pubDate>Wed, 02 Apr 2008 00:00:00 +0600</pubDate>
</item><item>
<title>ТРИ</title>
<link>http://thedowntown.ru/trazh/213123</link>
<description>то в исходный код флэшки можно внедрить javascript, который при прямом доступе к флэшке исполнится, как и в IE, так и в Firefox'е. Это, конечно, разработчиками ВКонтакте учтено: прямой доступ к флэшке запрещен. Но флэшка сохраняется в кэше браузера, откуда ее можно загрузить без проблем.</description>
<pubDate>Fri, 30 Nov 2007 00:00:00 +0600</pubDate>
</item><item>
<title>ДВА</title>
<link>http://thedowntown.ru/trazh/213123g</link>
<description>се вместе, да бы уменьшить бояновые темы в разделе. Все вопросы, касающиеся заливки шелла в Форуме, задаем сюда. Приветствуется помощь в наполнении темы актуальным материа</description>
<pubDate>Fri, 30 Nov 2007 00:00:00 +0600</pubDate>
</item><item>
<title>Новый 2009</title>
<link>http://thedowntown.ru/trazh/new2009</link>
<description>Кучерявый сидел перед камином и читал книжку про лангольеров, когда неожиданно поднялся страшный ураган..</description>
<pubDate>Mon, 01 Dec 2008 00:00:00 +0600</pubDate>
</item></channel>
</rss></root>
если посылается хидер - Опера ругается:
PHP код:
Ошибка разбора XML: синтаксическая ошибка (Строка: 1, Символ: 0)
Обработать документ как HTML
Ошибка:missing root element
Описание:http://www.w3.org/TR/REC-xml/
1: <root><?xml version="1.0" encoding="UTF-8"?>
2: <rss version="2.0">
3: <channel>
4: <title>The Даун Таун. Обитель Треша и Жести</title>
пробовал убирать/добавлять <root> - эффекта нет.
если хидер не посылать - просто белый экран. Но опера не предлагает подписаться на эту рсс-ленту, ничего.
все файлы в utf-8 without BOM.
опера подчёркивает первые два пробела красным - типа лишнее, не знаю как ещё от этих пробелов избавиться?
|
|
|

12.02.2009, 01:52
|
|
Постоянный
Регистрация: 04.07.2007
Сообщений: 827
Провел на форуме: 2504528
Репутация:
882
|
|
возможно это поможет http://feedvalidator.org/
|
|
|

12.02.2009, 17:35
|
|
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме: 7875940
Репутация:
2362
|
|
Дикс,
убери root и проверь в другом браузере.
Была у меня пару недель назад точно такая же задача и такая же ошибка. Оказалось это опера бажит (у меня 10). Часа 2 долбался. Открыл этот же фид в новой вкладке - все норм стало)
|
|
|

12.02.2009, 19:13
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
не, в фф тоже самое.
|
|
|

12.02.2009, 20:45
|
|
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме: 7875940
Репутация:
2362
|
|
Накатал такой скрипт - все пашет:
PHP код:
<?php
header('Content-Type: application/rss+xml');
$tmp = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>The Даун Таун. Обитель Треша и Жести</title>
<link>http://thedowntown.ru</link>
<description>Авторский проект Дикса о мёртвом городке Даун Таун и Науме.<br/>Треш и жесть, упакованные
в качественную литературную обёртку.<br/> Психически неуравновешенным к прочтению не рекомендуется.</description>
<lastBuildDate>Thu, 12 Feb 2009 00:39:53 +0600</lastBuildDate>
<language>ru</language><item>
<title>asdsadasdas</title>
<link>http://thedowntown.ru/trazh/asds</link>
<description>adsdasdas</description>
<pubDate>Wed, 02 Apr 2008 00:00:00 +0600</pubDate>
</item><item>
<title>ТРИ</title>
<link>http://thedowntown.ru/trazh/213123</link>
<description>то в исходный код флэшки можно внедрить javascript, который при прямом доступе к флэшке исполнится, как и в IE, так и в Firefox'е. Это, конечно, разработчиками ВКонтакте учтено: прямой доступ к флэшке запрещен. Но флэшка сохраняется в кэше браузера, откуда ее можно загрузить без проблем.</description>
<pubDate>Fri, 30 Nov 2007 00:00:00 +0600</pubDate>
</item><item>
<title>ДВА</title>
<link>http://thedowntown.ru/trazh/213123g</link>
<description>се вместе, да бы уменьшить бояновые темы в разделе. Все вопросы, касающиеся заливки шелла в Форуме, задаем сюда. Приветствуется помощь в наполнении темы актуальным материа</description>
<pubDate>Fri, 30 Nov 2007 00:00:00 +0600</pubDate>
</item><item>
<title>Новый 2009</title>
<link>http://thedowntown.ru/trazh/new2009</link>
<description>Кучерявый сидел перед камином и читал книжку про лангольеров, когда неожиданно поднялся страшный ураган..</description>
<pubDate>Mon, 01 Dec 2008 00:00:00 +0600</pubDate>
</item></channel>
</rss>
XML;
die($tmp);
?>
Единственная проблема была с незакрытыми тегами br.
|
|
|

12.02.2009, 21:01
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
2 Дикс перед root node не должно быть никаких выводов а я у тебя вижу пробел(или какой то непечатный символ)
все же попробуй сохранить этот скрипт в другом редакторе потому что ну очень похоже что идет Include Unicode Signature (BOM) или с Add Byte Order Mark.
Сообщение от oRb
Единственная проблема была с незакрытыми тегами br.
ну <![CDATA[]]> еше не кто не отменял, вроде.
Последний раз редактировалось AkyHa_MaTaTa; 12.02.2009 в 21:07..
|
|
|

12.02.2009, 21:41
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
странно.
убрал "<?xml version="1.0" encoding="UTF-8"?>" всё отлично заработало.
пример oRb также ругается, пока не уберёшь xml тег..
с редактором проблем нет, я знаю что такое BOM, что пхп плохо с ним работает и всегда сохраняю без него. редактор это позволяет.
за cdata спасибо  на работе только сегодня его применял, а дома вечером чета совсем даже в голову не приходит 
|
|
|

12.02.2009, 21:56
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
Как то я сразу не посмотрел, вобшем по DTD структура валидного xml документа такова:
PHP код:
<? пролога ?>
<корневой элемент>
</корневой элемент>
то есть пролог <?xml version="1.0"?> должен идти да root node(корневого элемента(узла)) а у тебя наоборот, поставь впереди всего пролог и должно все работать.
Последний раз редактировалось AkyHa_MaTaTa; 13.02.2009 в 19:17..
|
|
|

13.02.2009, 09:39
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
у меня везде utf-8.
в базе, в хтмл сайта, в посланных php хидерах, в сохранённых файлах со скриптами.
достаточно я в своей жизни намучался с этими кодировками, поэтому теперь очень строго за этим слежу.
|
|
|

15.02.2009, 09:03
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
то есть пролог <?xml version="1.0"?> должен идти дo root node(корневого элемента(узла)) а у тебя наоборот,
да я ж его потом ваще удалил, рут там точно не нужен.
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>The Даун Таун
я не могу понять почему у меня всё работает без <?xml ?>, а с ней не работает??
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|