ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

валидная рсс-лента
  #1  
Старый 11.02.2009, 22:44
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию валидная рсс-лента

сделал вот такую:
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(000$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.
опера подчёркивает первые два пробела красным - типа лишнее, не знаю как ещё от этих пробелов избавиться?
 
Ответить с цитированием

  #2  
Старый 12.02.2009, 01:52
Аватар для CrazyStudentS_Mi}{
CrazyStudentS_Mi}{
Постоянный
Регистрация: 04.07.2007
Сообщений: 827
Провел на форуме:
2504528

Репутация: 882


По умолчанию

возможно это поможет http://feedvalidator.org/
 
Ответить с цитированием

  #3  
Старый 12.02.2009, 17:35
Аватар для oRb
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

Дикс,
убери root и проверь в другом браузере.
Была у меня пару недель назад точно такая же задача и такая же ошибка. Оказалось это опера бажит (у меня 10). Часа 2 долбался. Открыл этот же фид в новой вкладке - все норм стало)
 
Ответить с цитированием

  #4  
Старый 12.02.2009, 19:13
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

не, в фф тоже самое.
 
Ответить с цитированием

  #5  
Старый 12.02.2009, 20:45
Аватар для oRb
oRb
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.
 
Ответить с цитированием

  #6  
Старый 12.02.2009, 21:01
Аватар для AkyHa_MaTaTa
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


Отправить сообщение для AkyHa_MaTaTa с помощью ICQ
По умолчанию

2 Дикс перед root node не должно быть никаких выводов а я у тебя вижу пробел(или какой то непечатный символ)
PHP код:
 <root
все же попробуй сохранить этот скрипт в другом редакторе потому что ну очень похоже что идет Include Unicode Signature (BOM) или с Add Byte Order Mark.

Цитата:
Сообщение от oRb  
Единственная проблема была с незакрытыми тегами br.
ну <![CDATA[]]> еше не кто не отменял, вроде.

Последний раз редактировалось AkyHa_MaTaTa; 12.02.2009 в 21:07..
 
Ответить с цитированием

  #7  
Старый 12.02.2009, 21:41
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

странно.
убрал "<?xml version="1.0" encoding="UTF-8"?>" всё отлично заработало.
пример oRb также ругается, пока не уберёшь xml тег..

с редактором проблем нет, я знаю что такое BOM, что пхп плохо с ним работает и всегда сохраняю без него. редактор это позволяет.

за cdata спасибо на работе только сегодня его применял, а дома вечером чета совсем даже в голову не приходит
 
Ответить с цитированием

  #8  
Старый 12.02.2009, 21:56
Аватар для AkyHa_MaTaTa
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


Отправить сообщение для AkyHa_MaTaTa с помощью ICQ
По умолчанию

Как то я сразу не посмотрел, вобшем по DTD структура валидного xml документа такова:
PHP код:
<? пролога ?>
<корневой элемент>

</корневой элемент>
то есть пролог <?xml version="1.0"?> должен идти да root node(корневого элемента(узла)) а у тебя наоборот, поставь впереди всего пролог и должно все работать.

Последний раз редактировалось AkyHa_MaTaTa; 13.02.2009 в 19:17..
 
Ответить с цитированием

  #9  
Старый 13.02.2009, 09:39
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

у меня везде utf-8.
в базе, в хтмл сайта, в посланных php хидерах, в сохранённых файлах со скриптами.
достаточно я в своей жизни намучался с этими кодировками, поэтому теперь очень строго за этим слежу.
 
Ответить с цитированием

  #10  
Старый 15.02.2009, 09:03
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

Цитата:
то есть пролог <?xml version="1.0"?> должен идти дo root node(корневого элемента(узла)) а у тебя наоборот,
да я ж его потом ваще удалил, рут там точно не нужен.
PHP код:
<?xml version="1.0" encoding="UTF-8"?> 
<rss version="2.0"> 
<channel> 
<title>The Даун Таун
я не могу понять почему у меня всё работает без <?xml ?>, а с ней не работает??
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кому нужен граббер рсс для дле QwesTx Разное - Покупка, продажа, обмен 0 09.02.2009 00:04
XML - Новостная лента Lionis PHP, PERL, MySQL, JavaScript 10 22.12.2008 21:18
Лента новостей… Allen Мировые новости 10 27.11.2006 01:08



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ