Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать rss для сайта. 
:(
    Опции темы
Enya
Дата 7.7.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Вот. Есть сайт. Есть новости. Задумались над созданием rss-ленты.
Помогите советом. smile 

Может кто делал? Поделитесь опытом. 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Weaver
Дата 7.7.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.12.2004
Где: Stavropol

Репутация: нет
Всего: нет



Делал rss-ленту.  rss - это просто xml.
Делается это очень просто, стоит лишь посмотреть что-либо готовое.
Например новости на сайте rin.ru,vz.ru  или на yandex'e
Каких-нибудь особенностей нет. 
Создаете xml-документ и подключаете его. Готово. 
PM MAIL WWW   Вверх
wil
Дата 7.7.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 28.3.2006

Репутация: 1
Всего: 4



--------------------
 
PM MAIL WWW   Вверх
Weaver
Дата 7.7.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.12.2004
Где: Stavropol

Репутация: нет
Всего: нет



Простой пример:

Код

<?php
 Header("Content-type: text/xml");
 echo '<?xml version="1.0" encoding="windows-1251"?>';
?>


<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "../files/dtd/rss-0.91.dtd">
<rss version="2.0">
<channel>
<title> your title </title>
<link><?php echo 'http://'.$_SERVER['SERVER_NAME'];?></link>
<description> description </description>
<language>ru-ru</language>


<?php

$fop=file('news/news.data');//файл c новостями 
 /* вид такой 
 
01.03.2005<!--##--> Наступила весна! ....
23.03.2005<!--##--> ...там - тарам.....  :).... 
 */

$cc1=0;
 if (isset($_GET['l10']))
 {
  $cc1=count($fop)-10;//последние 10 нововстей
 }
 for($it=count($fop)-1; $it>$cc1;$it--)
 {
  if ($it>=0)
  echo "\n<item>\n<title>";
  $nb=strip_tags(ereg_replace("\r\n","",$fop[$it]));
  $nb=str_replace("&raquo;"," \"",$nb);
  $nb=str_replace("&laquo;"," \"",$nb);

  $nb=str_replace("&amp;"," and ",$nb);
  $nb=str_replace("&"," and ",$nb);

  echo substr($nb,11,25),"...";
  echo "</title>\n<link>";
  echo 'http://'.$_SERVER['SERVER_NAME'];
  echo "/?id=news&amp;n=$it</link>\n<description>";
  echo chop(substr($nb,11));
  echo "</description>\n<pubDate>".substr($nb,0,10)."</pubDate>\n</item>";
 }
?>
</channel>

</rss> 
 

Это сообщение отредактировал(а) Weaver - 7.7.2006, 11:54
PM MAIL WWW   Вверх
Enya
Дата 7.7.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Weaver, спасибо за простой примерчик.

У меня статьи в БД хранятся, тогда вместо 
Код

<?php
$fop=file('news/news.data');//файл c новостями 
 /* вид такой 
 
01.03.2005<!--##--> Наступила весна! ....
23.03.2005<!--##--> ...там - тарам.....  :).... 
 */

Делать SQL запрос в БД?

Добавлено @ 12:52 
Цитата
Создаете xml-документ и подключаете его. Готово.
Создать xml-документ не сложно по примерам с других газет.
А как его подключить? с помощью php? 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Enya
Дата 7.7.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Цитата(wil @ 7.7.2006,  11:37)
я юзаю это - http://www.bitfolge.de/rsscreator-en.html

Вот заюзал я этот класс feedcreator.class.php по созданию RSS-ленты.
Так вот он там запрашивает типа ссылку на новость. А в таблице новостей (news) у меня только id-шка
Ссылка на новость имеет такой вид:
А в коде это так выглядит
Код

$res = mysql_query("SELECT * FROM news ORDER BY time_add DESC");
while ($data = mysql_fetch_object($res)) {
    $item = new FeedItem();
    $item->title = $data->title;
    $item->link = $data->id;
    $item->description = $data->text;
    $item->date = $data->time_add; 
    $item->source = "http://www.nasha.lv";
    $item->author = "НГ";
    
    $rss->addItem($item);
}
Мне бы в 
Код

$item->link = $data->id; 
припоять приставочку http://www.nasha.lv/article.php?id= 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
wil
Дата 7.7.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 28.3.2006

Репутация: 1
Всего: 4



так и пиши 
Код

$item->link = "http://www.nasha.lv/article.php?id=".$data->id;  
 
--------------------
 
PM MAIL WWW   Вверх
Enya
Дата 7.7.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



wil, сделал. А что вот эта за ошибка? Может я в настройках чего пропустил?
Цитата

The XML page cannot be displayed 
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later. 


--------------------------------------------------------------------------------

System does not support the specified encoding. Error processing resource 'http://www.nasha.lv/rss1.php'. Line 1, Position...

 <?xml version="1.0" encoding=""?>

 

 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
wil
Дата 7.7.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 28.3.2006

Репутация: 1
Всего: 4



Enya, ты как фид сохранаяешь? попробуй так
Код

$rss->saveFeed("RSS2.0", "feed.xml");
  

Это сообщение отредактировал(а) wil - 7.7.2006, 14:37
--------------------
 
PM MAIL WWW   Вверх
Enya
Дата 17.7.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



wil, странно, а теперь другая ошибка:
Цитата

XML Parsing Error: xml declaration not at start of external entity
Location: http://www.nasha.lv/rss1.php
Line Number 1, Column 2: <?xml version="1.0" encoding=""?>
-^
А с чём эта ошибка связанна. 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Enya
Дата 17.7.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Цитата(wil @ 7.7.2006,  11:37)
я юзаю это - http://www.bitfolge.de/rsscreator-en.html

Вот, у меня что-то с кодировкой:
Цитата

XML Parsing Error: xml declaration not at start of external entity
Location: http://www.nasha.lv/rss1.php
Line Number 1, Column 2: <?xml version="1.0" encoding=""?>
-^
в коде, фаил feedcreator.class.php нашёл вот такую строчку, но что-то мне нифига не понятно smile 
Код

function createFeed() {
        global $config;     
        $feed = "<?xml version=\"1.0\" encoding=\"".$config->outputEnc."\"?>\n";

Поможите мне вот с этой ошибкой! smile  


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
wil
Дата 27.7.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 28.3.2006

Репутация: 1
Всего: 4



попробуй на 497-й строчке в файле feedcreator.class.php
Код

        /**
         * This feed's character encoding.
         * @since 1.6.1
         **/
        var $encoding = "windows-1251";
 
--------------------
 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0765 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.