Отобразить спарсенную информацию в блоке

Главные вкладки

Аватар пользователя demonnet demonnet 7 апреля 2019 в 12:55

Добрый день!
Друзья, экспериментирую парсингом. Очень интересно.
Создал файл parser.php, в котором есть такой вот код:
<?php
$url = 'https://www.yandex.ru';
$file = file_get_contents($url);
$pattern = '#

    #s';
    preg_match($pattern, $file, $matches);
    print_r($matches);
    ?>
    Запарсил новости с Яндекса.
    Результаты в скриншоте.
    Друзья, помогите, пожалуйста, в разрешении двух вопросов:
    1) Хотел бы вывести эти новости в верхний блок на сайте. Пробовал не получается.
    Как выполнить php функции в html-блоке?
    2) Стилистика выведенных результатов - например, как убрать слово Array ( [0] => ?
    Гуглил - не нашел.
    Почему-то код некорректно отображается. Выложу скриншот.
ВложениеРазмер
Иконка изображения rezultat_raboty_parser.png13.23 КБ
Иконка изображения sam_kod_parsinga.png4.8 КБ

Комментарии

Аватар пользователя gun_dose gun_dose 7 апреля 2019 в 13:33

Функция print_r отладочная. Не нужно пытаться стилизовать её вывод и уж тем более показывать пользователям.

Аватар пользователя gun_dose gun_dose 7 апреля 2019 в 13:57

Используйте print или echo. Оберните вывод в нужные вам тэги. Переменная у вас - массив из одного элемента, поэтому можно так

<?php
print $matches[0];
?>
Аватар пользователя demonnet demonnet 7 апреля 2019 в 14:06

Новостной блок в Яндексе начинается как ol class="list news__list"
подключил библиотеку phpQuery.
Теперь пытаюсь вот так вот вывести:
<?php
require_once 'phpQuery/phpQuery/phpQuery.php';
$url = 'https://yandex.ru';
$file = file_get_contents($url);

$doc = phpQuery::newDocument($file);
$tr = $doc->find('#list news__list');
echo $tr;
?>
И опять не выводится.

Аватар пользователя sas@drupal.org sas@drupal.org 9 апреля 2019 в 7:58

Посмотрите через devel -> dsm что в данных, а потом уже выводите и не помешали бы проверки для свойств индексов перед echo или reset уж на худой конец