- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите, пожалуйста, готовый скрипт (PHP), с помощью которого можно импортировать ленту новостей в формате RSS к себе на сайт.
То есть надо забрать ее с УРЛа и форматировать в нужном мне виде для вывода.
Что для этого использовать?
простенькая функция вывода...
function& okRss($url){
$data=join('',file($url));
$matchTitle='!<item>.*?<title>(.*?)<\/title>.*?<\/item>!is';
preg_match_all($matchTitle,$data,$title);
$rss['title']=$title[1];
$matchLink='!<item>.*?<link>(.*?)<\/link>.*?<\/item>!is';
preg_match_all($matchLink,$data,$link);
$rss['link']=$link[1];
$matchDesc='!<item>.*?<description>(.*?)<\/description>.*?<\/item>!is';
preg_match_all($matchDesc,$data,$desc);
$rss['desc']=$desc[1];
return $rss;
}
$rss=okRss("ПУТЬ ДО ФАЙЛА rss ИЛИ URL");
for($i=0; $i<count($rss['title']); $i++){
echo "<a href='{$rss['link'][$i]}' target=_blank>{$rss['title'][$i]}</a><br>
{$rss['desc'][$i]}<br><br>";
}
dmitcat, Да-а-а, мега функция
Конечно она работает и это уже хорошо, но с точки зрения "программиста-педанта" она у тебя просто "супер"
(я бы скорее со стыда умер чем выложил такую в "паблик" от своего имени)
Чтоб не быть голословным...
1 - Для скорости лучше обойтись одним preg_match_all
2 - Для универсальности часть регулярки (или даже всю) лучше брать из вне
(чтоб для каждой ленты была своя регулярка)
3 - Для разделения логики приложения от логики представления выводить результат лучше c помощью отдельной фунции
Пример
Для хостингов с отключенным "allow_url_fopen" ещё понадобится и функция для получения файла через сокеты
А вообще лучше качать сам RSS не перед выводом а по крону (раз в день например) один раз парсить его в БД и уже от туда выводить...
я ж написал - ПРОСТЕНЬКАЯ...
тем более - не моя... просто взял когда-то из инета - понадобилась 1 раз, чтобы полчаса не траттить на написание своей ф-ции...
Ясный пень, можно написать супер функцию, с административной частью, с разделенным доступом...
человек спросил, я предложил... мест для экспериментов всегда предостаточно - это вопрос свободного времни
dmitcat, Ставить на хост г@вно я бы не рекомендовал, даже одна забытая запятая может стоить всему сайту жизни (и репутации)
(в рнрВВ2.0.6 например из-за одной пропущеной точки, а в рнрВВ2.0.13 из-за одного знака равенства, можно было спокойно зайти в админку)
я ж написал - ПРОСТЕНЬКАЯ...
Тот код что привёл я проще (и быстрее и надёжнее и меньше) разница лишь в окуратном оформлении кода (которое создаёт иллюзию сложности)