Loading...
Помощь по скриптам | Как вывести тег <enclosure>? С меня плюс
540447140 (23.07.2020 в 02:16)
PAIN, Я хз как это правильно выводить...
php
echo $out;
preg_match('#<enclosure url="([^<]+)"#U',$url,$out);
print_r($url);


Показывает: ArrayНttps://m.lеntа.ru/rss/lаst24

$out[1];
PAIN,
php
echo $url->enclosure.'<br/>';
preg_match('#<enclosure url="([^<]+)"#U', $url, $out);
print_r($out[1]);


Ни чё не выводит... Кста, file_get_contents() не работает, в данном случае, если его вставить, код слетает.
Ну может поможет кто? Плиз
Плюсик в анкету поставлю
540447140 (23.07.2020 в 01:25)
Добрая ночь господа и дамыГг

Есть такой вот парсер новостей с lenta rss
php
<?
$url = 'Нttps://m.lеntа.ru/rss/last24';
$rss = simplexml_load_file($url);
foreach ($rss->channel->item as $item) {
echo '<h2>'.$item->title.'</h2>';
echo '<h3>'.$item->description.'</h3>';
echo $item->category;
}
?>


Вопрос как мне вывести тег <enclosure> отвечающиф за показ изображения?

Вот его пример:
html
<enclosure url="Нttps://icdn.lеntа.ru/images/2020/07/22/16/20200722162421740/pic_b56c833890730903eadc83e6c7ca9bc8.jpg" type="image/jpeg" length="107915"/>


Дело в том, что у данного тега нету закрывающегося брата, соответственно при попытке сделать парсинг: echo $item->enclosure; он просто не показывает и всё.

Вопрос, что надо добавить чтобы она мог выводить фото?

P. S.
Код самопис, делал сам. Написан на SimpleXML


Пробуй парсить на прямую. пример кода как вариант

php
<?php
$rss = $_GET['pars'];
$xml = @simplexml_load_file($rss);
if ( $xml===false ) die('У этого сайта нет RSS: '.$rss);
foreach ( $xml->xpath ('//item') as $item ) {
$url = file_get_contents($item->link);
preg_match_all('!<TD class=zpic>(.*)</TD>.*<H2>(.*)</H2>.*</TABLE>(.*)<P class=links>!isU', $url, $res, PREG_SET_ORDER);
$fulltext = preg_replace("#<a.+?>(.+?)</a>#is","$1",$res[0][3]);
$img = preg_replace('!<img(.+?)>!isU',"<img $1 style='float:left;margin:3px;'>",$res[0][1]);
$out = "<table>
<tr>
<td>
<h1>{$res[0][2]} - дата: {$item->pubDate}</h1>
<p>{$img}{$fulltext}</p>
</td>
</tr>
</table>";
echo $out;
}
file_put_contents (date ('H-i') . '.html', $out);
?>


Создай просто php файл к примеру rss.php и помести код. парсинг новостей таким образом http://ваш_сайт.ru/rss.php?pars=https://lenta.ru/rss/last24
Парс новостей в html файлы.
Как вариант, это то что я одно время юзал.
________
посл. ред. 23.07.2020 в 14:47; всего 1 раз(а); by DmPilot
DmPilot, Вот

Изображение

------
73223_Screenshot_20200723150227.png (76.5 Kb)
Скачиваний: 121
540447140 (23.07.2020 в 15:03)
DmPilot, Вот

Не парсит или что?
DmPilot, Только дату парсит
540447140 (23.07.2020 в 15:06)
DmPilot, Только дату парсит

попробуй парсить страницу просто..
DmPilot, Этот вариант парсит идеально:
php
<?
$url = 'https://m.lenta.ru/rss/last24';
$rss = simplexml_load_file($url);
foreach ($rss->channel->item as $item) {
echo $item->title.'<br/>';
echo $item->description;
}
?>


Страница грузится быстро, вот только как изображение выводить я хз
540447140 (23.07.2020 в 15:12)
DmPilot, Этот вариант парсит идеально:
php
<?
$url = 'https://m.lenta.ru/rss/last24';
$rss = simplexml_load_file($url);
foreach ($rss->channel->item as $item) {
echo $item->title.'<br/>';
echo $item->description;
}
?>


Страница грузится быстро, вот только как изображение выводить я хз

тебе так нужно?
https://dmpilot.site/rss.php
Онлайн: 1
Время:
Gen. 0.1164
(c) Bym.Guru 2010-2025