@sochi-russia

Поисковая форма из RSS, Как предварительно выводить данные на экран и вытащить enclosure (изображение)?

Форма
<form method="POST" action="parser.php">
    <input type="text" name="search"/>
    <input type="submit" value="Искать"/>
</form>


Parser.php
<html>
<body>
<?php
 # Что искать
    $search = isset($_POST['search']) ? trim($_POST['search']) : null;
    
    # Если не указан текст поиска
    !empty($search) or die('Укажите, что искать');
    
    # Массив адресов RSS
    $urls = [
        'https://www.biletiavia.ru/rss.xml',
        # и т.д.
    ];
    
    # Обходим массив адресов
    foreach($urls as $url)
    {
        # Получаем данные из XML 
        $rss = simplexml_load_file($url);
        
        # Сортируем массив
        usort($rss->channel->item, function($a, $b){
            # Преобразуем время
            $a = strtotime($a->pubDate);
            $b = strtotime($b->pubDate);
            
            # Если даты равны
            if($a == $b) return 0;
            
            # Сравниваем и возвращаем, выше или ниже переместить элемент
            return $a > $b ? 1 : -1;
        });
        
        foreach ($rss->channel->item as $item) 
        {            
            # Если не найдено совпадение
            if( !substr_count( $item->description, $search ) )
                # Переходим к следующему
                continue;
            
            # Выводим
            echo '<a href="'.$item->link.'">';
            echo '<h2>'. $item->title .'</h2>';
            echo '</a>';
            echo $item->description; 
        }
    }
?>
        </body>
        </html>

Два вопроса.
1) Как сделать предварительный просмотр результата поиска до нажатия кнопки Найти во всплывающем окошке
2) Как вытащить ссылку на изображение
<enclosure url="http://combinacii.ru/generator_chisel.jpg" type="image/jpeg" length="0" />

Спасибо
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽