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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как реализовать RSS? 
V
    Опции темы
matrixanton
Дата 4.4.2008, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вечер добрый!
Нужно:
Цитата

планировщик скачивает xml файл с новостями к тебе в локальную папку на сервер, затем можно запустить простенький скрипт, кторый с помошью регулярных выражений его видоизменит (заменит ссылки, теги и т.д.) и цепляешь этот файл к себе на страничку через SSI exec.


Чтобы потом моя php страничка обновлялась автоматически при поступлении новых новостей в RSS канал

Помогите пожалуйста готовым примером  smile 

Это сообщение отредактировал(а) matrixanton - 4.4.2008, 20:54
PM MAIL WWW ICQ Skype   Вверх
TUMS
Дата 5.4.2008, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Google и simpleXML в помощь =)
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
matrixanton
Дата 5.4.2008, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



TUMS

Да я знаю что такое гугль, просто я не знаю что писать даже в поиске, о RSS мало чего знаю smile 

Может есть на примете какой-нибудь готовый скрипт?

Это сообщение отредактировал(а) matrixanton - 5.4.2008, 06:43
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 5.4.2008, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



matrixanton,
Читай, в том числе с примерами http://framework.zend.com/manual/ru/zend.feed.html 


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 5.4.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



вообще-то, ему надо не выдавать рсс, а читать его, если кто не понял.

matrixanton, готовый пример про планировщики - это тебе в управление веб-серверами.
а ссылки заменять нехорошо.
PM   Вверх
Fortop
Дата 5.4.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Цитата(Feldmarschall @  5.4.2008,  12:02 Найти цитируемый пост)
вообще-то, ему надо не выдавать рсс, а читать его, если кто не понял.

Feldmarschall, замечательно читается.
Импортирование лент с помощью Zend_Feed



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
matrixanton
Дата 6.4.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Feldmarschall


Цитата(Feldmarschall @  5.4.2008,  15:02 Найти цитируемый пост)
готовый пример про планировщики - это тебе в управление веб-серверами.

А можно пожалуйста ссылку  smile 


Цитата(Feldmarschall @  5.4.2008,  15:02 Найти цитируемый пост)
а ссылки заменять нехорошо. 

В смысле? smile

Добавлено через 6 минут и 5 секунд
Fortop

А как вообще это сделать? Я так понял, этот код только импортирует, а как сохранить в какую-нибудь папку/текстовый файл? Или все содержимое присваивается $feed?

Код

<?php

$feed = Zend_Feed::import('http://forums.ag.ru/?action=rss');

?>

PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 6.4.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Цитата(matrixanton @  6.4.2008,  10:24 Найти цитируемый пост)
А как вообще это сделать? Я так понял, этот код только импортирует, а как сохранить в какую-нибудь папку/текстовый файл? Или все содержимое присваивается $feed?

Ты внимательно читал ссылку?
http://framework.zend.com/manual/ru/zend.feed.html
Там все описано, как можно работать с импортированной лентой

Плюс функции работы с файлами
http://www.php.net/manual/ru/ref.filesystem.php
и циклы
http://www.php.net/manual/ru/control-structures.foreach.php
 никто не отменял.

Впрочем, если тебе надо просто сохранить RSS  в файл, то можно обойтись более простым решением.

Код

$rss = file_get_contents(твой урль);
file_put_contents(твой файл, $rss);



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
matrixanton
Дата 6.4.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Fortop

Спасибо! Есть прогресс smile 
Теперь у меня вся лента записывается в файл rss.txt и выводится с помощью print($rss)

Как удалить теги перед тем как показать содержимое файла?
Нужно выборочно удалять теги, то есть только те которые указаны в скрипте.

Ничего подобного не нашел, только удаление ВСЕХ тегов кроме указанных

Код

$fh = fopen("rss.txt", "r");
$allowable = "<br>";
while (!feof($fh)):
print fgetss($fh, 2048, $allowable);
endwhile;
fclose($fh); 


Добавлено через 4 минуты и 56 секунд
     Вот    

Это сообщение отредактировал(а) matrixanton - 6.4.2008, 16:03
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 6.4.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Найди все теги в твоей ленте, вычти из этого множества те, которые ты хочешь вырезать.
Остальные и будут разрешенными тегами, которые ты сможешь подставлять в функцию


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
matrixanton
Дата 8.4.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Уже 2 дня долблю по клавишам и ничего не получается  smile 

Может попробовать по другому? То есть чтобы из всей ленты скрипт выводил только заголовки в виде ссылки?

Помогите пожалуйста, очень нужно  smile

Добавлено через 40 секунд
Код

<?php

$rss = file_get_contents('http://www.buhsmi.ru/rss/');
file_put_contents('rss.txt', $rss);

print($rss);

?>


http://www.derjawa.ru/test/rss.php
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 8.4.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Цитата(matrixanton @  8.4.2008,  08:45 Найти цитируемый пост)
Уже 2 дня долблю по клавишам и ничего не получаетс

Конкретно, по шагам.
Что ты хочешь получить?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
matrixanton
Дата 8.4.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Fortop

Я хочу чтобы импортировалась лента новостей (не обязательно записывалась в .txt)
И из всей ленты выводились только заголовки в виде ссылок (можно и полный текст)

Вот это нужно обрезать до минимума (то есть оставить только заголовки, чтобы люди могли перейти по ним на полную версию новости, которая находится на сайте http://www.buhsmi.ru/)
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 8.4.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Повторюсь, читай
http://framework.zend.com/manual/ru/zend.feed.html

Буквально на первой же странице описано как импортировать ленту, 
как обойти ее по всем каналам, выбрать все записи в каждом из каналов или каком-то конкретном.
Получить всю информацию или только часть ее, например ссылку.

В итоге ты получишь структуру, которую можешь выводить хоть вместе, хоть по частям.

Добавлено через 1 минуту и 18 секунд
Конкретно из этой части кода
тебе нужно выкинуть всего 1 строку

Пример взят отсюда
Код

// Обход каналов и сохранение данных
foreach ($slashdotRss as $item) {
    $channel['items'][] = array(
        'title'       => $item->title(),
        'link'        => $item->link(),
        'description' => $item->description()
        );
}



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
matrixanton
Дата 8.4.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Скачал очень хороший готовый скрипт, все работает, то что надо! smile 

Только вот ошибки выдает :(((

http://www.derjawa.ru/test/rss/example.php

Warning: fopen(cafeRSS_cache/http___www.buhsmi.ru_rss_.cache) [function.fopen]: failed to open stream: No such file or directory in /home/matrix/public_html/test/rss/cafeRSS.php on line 95

Warning: fwrite(): supplied argument is not a valid stream resource in /home/matrix/public_html/test/rss/cafeRSS.php on line 96

Warning: fclose(): supplied argument is not a valid stream resource in /home/matrix/public_html/test/rss/cafeRSS.php on line 97

Вот те строки из скрипта:

Код

/* the secret cache ops, part II */

        if (($cache_rss) && ($rss_use_cache)) {
                $this->timer_start();
                $f = fopen($rss_cache_file, 'w+');
                fwrite($f, $content);
                fclose($f);
                $debugcachetime = $this->timer_stop(0);
        } else {
                $debugcachetime = 0;
            }
        }


А внизу полностью архив

В чем может быть ошибка?

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  rss.rar 2,77 Kb
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0674 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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