Люди добрые, помогите. Есть простой код: получаем html -> получаем из него элементы и выводим на экран
<?php
require_once 'simple_html_dom.php';
$k = 1;
while($k<=3){
// загружаем данные
$url = "https://www.site.ru/".$k;
$html = file_get_html($url);
// как-то их обрабатываем
echo '<div><ul>';
for ($i=0; $i <5; $i++) {
$res [] = $html->find('.className', $i);
echo '<li>'.$res[$i].'</li>';
};
echo '</ul></div>';
$html->clear(); // подчищаем за собой
unset($html);
$k++;
}
?>
Цикл работает, но функция file_get_html() работает только видимо один раз т.к. следующая итерация выдает пустоту на экран. Как без перезагрузки зациклить функцию file_get_html() чтобы каждый раз отправлялся новый запрос? Может как-то записывать результат в БД а потом автоматически обновлять?(ну это уже мои выдумки). Может кто сможет по-простому объяснить, может какой код JavaScript прикрутить (только желательно родной не jQuery). Подключена библиотека simple_html_dom.php Спасибо. С рождеством Христовым!
Не знаком с библиотекой, но вот так работает, сначала собираем все вовнутрь $res, а уж в самом конце выводим список:
require_once "simple_html_dom.php";
$k = 1;
while ($k <= 3) {
// загружаем данные
$url = "https://ru.stackoverflow.com/questions/tagged/php?sort=newest&pagesize=15&page=" . $k;
$html = file_get_html($url);
// как-то их обрабатываем
for ($i = 0; $i < 5; $i++) {
$res [] = $html->find('.question-hyperlink', $i)->plaintext;
};
$html->clear(); // подчищаем за собой
unset($html);
$k++;
}
//вывод
echo '<div><ul>';
foreach ($res as $item) {
echo '<li>' . $item . '</li>';
}
echo '</ul></div>';
//var_dump($res);
//0 => string 'Необходимо создать плагин php с кнопкой и изображением' (length=98)
//1 => string 'Оператор == для сравнения строк' (length=56)
//2 => string 'Redirect в .htaccess или проблема из картинками' (length=71)
//3 => string 'Как установить zend-developer-tools?' (length=49)
//4 => string 'Как без перезагрузки получить DOMhtml?' (length=64)
//5 => string 'Каким образом выгружается id_user (внешний ключ) в mysql базу' (length=100)
//6 => string 'Добавить свое поле в запрос SELECT' (length=57)
//7 => string 'Копирование строк таблицы mysql php' (length=58)
//8 => string 'помогите составить регулярное выражение для кириллицы [дубликат]' (length=120)
//9 => string 'Сохранит куки curl php' (length=34)
//10 => string 'Выбор региона WordPress' (length=35)
//11 => string 'Обновление данных за каждую неделю' (length=64)
//12 => string 'Laravel Passport - refresh_token' (length=32)
//13 => string 'lavarel 5.6 ошибка в PrettyPageHandler.php' (length=49)
//14 => string 'Логика получения баланса пользователя' (length=71)
Большое спасибо избранному из матрицы Jean-Claude.:-) Вот рабочий код маленького парсера страниц, расположенных в определенном порядке 1...99999. Если что коряво вы уж простите меня.
<?php
require_once "simple_html_dom.php";
$k = 1;//название страницы у меня это просто число у вас может быть "namePage"
while ($k <= 3) { //цикл получения нескольких страниц сайта здесь получаем 3шт.
// загружаем данные
$url = "http://www.site.ru/" . $k; //подставляем "namePage" в адрес
$html = file_get_html($url); //получаем html
// как-то обрабатываем
for ($i = 0; $i < 5; ++$i) { //цикл получает 5 элементов с классом .nameClass и записывает их в массив res
$res [] = $html->find('.nameClass', $i)->plaintext;
}
echo '<div><ul>';
foreach ($res as $item) {//перебираем массив и выводим на экран
echo '<li>' . $item . '</li>';
};
echo '</ul></div>';
$html->clear(); // подчищаем за собой. clear() ф-ция из библиотеки simple_html_dom.php
unset($html);
unset($res);// сброс переменной
++$k;
}
?>
@charset "utf-8";
/* CSS Document */
* {
margin:0;
padding: 0;
}
ul li{
display: inline-block;
margin-right: 5px;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Установил через композер Zend framework, установить zend-developer-tools через композер не удалось, получаю ошибку:
Прошу помощиЕсть сайт с такими вот правилами редиректа:
Почему var_dump('0xafebac' == '11529132'); равно TRUE? Как происходит сравнение этих двух строк?
Проверив код программы увидел, что lcg_value() генерирует такие точки, что укладывает их по сути все рядомЗначение сильно не меняется