FirstTOP 1 Опубликовано 10 октября, 2013 Всем привет! Нужна помощь в следующем вопросе. Сайт базируется на dle. Нужно в отдельном блоке выводить новости с другого сайта. Вопрос: Как это сделать? Заранее спасибо за помощь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FirstTOP 1 Опубликовано 10 октября, 2013 Неужели никто не поможет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GRIN4 24 Опубликовано 12 октября, 2013 (изменено) Лежит давно уже у меня эта херня. Не помню для какой цмс именно. выводит через рсс Создай phpшник и залей на сервер <?php</p> <p>function print_rss($url_rss,$file_rss,$hclock,$kol_print_news)<br /> {<br /> //$url_rss - URL-адрес RSS потока<br /> //$file_rss - адресс файла для хранения RSS-новостей<br /> //$hclock - время обновления, в часах<br /> //$kol_print_news - количество выводимых новостей</p> <p> if (!file_exists($file_rss))//если файл не сохраняли, то сохраняем на локальном сервере<br /> {<br /> if (@!copy ($url_rss,$file_rss))<br /> return (false);<br /> }<br /> else<br /> {<br /> //если существует, то проверяем устарел ли файл (не более Х часов назад он записан)<br /> if (filemtime($file_rss) + $hclock*60*60 < time())<br /> {<br /> if (@!copy ($url_rss,$file_rss))<br /> return (false);<br /> }<br /> }</p> <p> $text_rss=file($file_rss);<br /> $text_rss=implode("",$text_rss);</p> <p> $mas_item=array();<br /> preg_match_all("#<item>.*?</item>#is",$text_rss,$mas_item);</p> <p> $t="";<br /> $kol=0;<br /> if (sizeof($mas_item)>0)<br /> {</p> <p> foreach ($mas_item[0] as $one_item)<br /> {<br /> $kol++;<br /> $t_is=preg_match("#<title>(.*?)</title>#is",$one_item,$title);<br /> $l_is=preg_match("#<br /> <link>(.*?)</link>#is",$one_item,$link);<br /> $d_is=preg_match("#<description>(.*?)</description>#is",$one_item,$description);<br /> if ($t_is and $l_is)<br /> {<br /> $title[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$title[1]);<br /> $link[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$link[1]);<br /> $description[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$description[1]);<br /> $t.=" <div><a href='".$link[1]."' target='_blank'>".$title[1]."</a> <br>".$description[1]."</div> <p>";<br /> }<br /> if ($kol >= $kol_print_news) break;<br /> }<br /> }</p> <p> echo ($t);</p> <p> return (true);<br /> } и вставляешь где надо вывести <?php include_once("write_rss.php");//подключаем файл с функцией вывода RSS-новостей //адресс новостей (URL-адрес RSS потока) $url_rss="http:/site.com/feed"; //количество выводимых новостей $kol_print_news=10; //имя файла для хранения RSS-новостей на локальном сервере (то есть кэш-файл) $file_rss="cache_rss.xml"; //время обновления, в часах $hclock=1; print_rss($url_rss,$file_rss,$hclock,$kol_print_news);//вызываем функцию вывода RSS-новостей ?> Изменено 12 октября, 2013 пользователем GRIN4 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FirstTOP 1 Опубликовано 13 октября, 2013 Лежит давно уже у меня эта херня. Не помню для какой цмс именно. выводит через рсс Создай phpшник и залей на сервер <?php</p> <p>function print_rss($url_rss,$file_rss,$hclock,$kol_print_news)<br /> {<br /> //$url_rss - URL-адрес RSS потока<br /> //$file_rss - адресс файла для хранения RSS-новостей<br /> //$hclock - время обновления, в часах<br /> //$kol_print_news - количество выводимых новостей</p> <p> if (!file_exists($file_rss))//если файл не сохраняли, то сохраняем на локальном сервере<br /> {<br /> if (@!copy ($url_rss,$file_rss))<br /> return (false);<br /> }<br /> else<br /> {<br /> //если существует, то проверяем устарел ли файл (не более Х часов назад он записан)<br /> if (filemtime($file_rss) + $hclock*60*60 < time())<br /> {<br /> if (@!copy ($url_rss,$file_rss))<br /> return (false);<br /> }<br /> }</p> <p> $text_rss=file($file_rss);<br /> $text_rss=implode("",$text_rss);</p> <p> $mas_item=array();<br /> preg_match_all("#<item>.*?</item>#is",$text_rss,$mas_item);</p> <p> $t="";<br /> $kol=0;<br /> if (sizeof($mas_item)>0)<br /> {</p> <p> foreach ($mas_item[0] as $one_item)<br /> {<br /> $kol++;<br /> $t_is=preg_match("#<title>(.*?)</title>#is",$one_item,$title);<br /> $l_is=preg_match("#<br /> <link>(.*?)</link>#is",$one_item,$link);<br /> $d_is=preg_match("#<description>(.*?)</description>#is",$one_item,$description);<br /> if ($t_is and $l_is)<br /> {<br /> $title[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$title[1]);<br /> $link[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$link[1]);<br /> $description[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$description[1]);<br /> $t.=" <div><a href='".$link[1]."' target='_blank'>".$title[1]."</a> <br>".$description[1]."</div> <p>";<br /> }<br /> if ($kol >= $kol_print_news) break;<br /> }<br /> }</p> <p> echo ($t);</p> <p> return (true);<br /> } и вставляешь где надо вывести <?php include_once("write_rss.php");//подключаем файл с функцией вывода RSS-новостей //адресс новостей (URL-адрес RSS потока) $url_rss="http:/site.com/feed"; //количество выводимых новостей $kol_print_news=10; //имя файла для хранения RSS-новостей на локальном сервере (то есть кэш-файл) $file_rss="cache_rss.xml"; //время обновления, в часах $hclock=1; print_rss($url_rss,$file_rss,$hclock,$kol_print_news);//вызываем функцию вывода RSS-новостей ?> Как я понял, новости rss будут в отдельной таблице, правильно? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GRIN4 24 Опубликовано 14 октября, 2013 Как я понял, новости rss будут в отдельной таблице, правильно? в точку Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
r0n1x 126 Опубликовано 14 октября, 2013 (изменено) Во Вы артисты вообще) для кого сделано RSS информер на сайте Данный модуль предназначен для гибкого добавления различных RSS информеров с других сайтов. Админ панель, на сайт тегом вставлять) Изменено 14 октября, 2013 пользователем r0n1x Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GRIN4 24 Опубликовано 14 октября, 2013 не ну можно и так в принципе)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FirstTOP 1 Опубликовано 14 октября, 2013 Во Вы артисты вообще) для кого сделано RSS информер на сайте Данный модуль предназначен для гибкого добавления различных RSS информеров с других сайтов. Админ панель, на сайт тегом вставлять) не ну можно и так в принципе)) Спасибо ребят! Оба способа рульные, работают Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
r0n1x 126 Опубликовано 16 октября, 2013 работа сделана, а оплаты нет...жмодяра да?! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FirstTOP 1 Опубликовано 16 октября, 2013 работа сделана, а оплаты нет...жмодяра да?! Плюсы дал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты