@felsme

Не меняется переменная циклом?

Не понимаю почему не меняется ссылка, должна выводиться первая игра последней страницы, а выводиться первой
require_once('simple_html_dom.php');

function random_game () {
$url = 'https://ru.wikipedia.org/wiki/Категория:Компьютерные_игры_по_алфавиту';
while (true) {
$html = file_get_contents($url); 
$html = str_get_html($html);
$addGames = $html->find('div[class=mw-category] li a');
$links = $html->find('a');
foreach ($links as $link) {
  if ($link->innertext == 'Следующая страница') {
    $targetLinkHref = htmlspecialchars_decode($link->href);
    $url = "https://ru.wikipedia.org$targetLinkHref";

  } else {
  	return $addGames;
}
}
}
}

$f = random_game();
echo "$f[0]";
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
taliban
@taliban
php программист
Вы вкурсе что такое дебаг? банальных эхо каждой итерации цикла вам покажет в чем проблема. начните с того чтоб проверить точно ли селектор работает правильно на первой и второй странице
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
antoo
@antoo
Вместо того, чтобы парсить голый HTML, используйте API (который бесплатен и ничем не ограничен) - вот пример для вашей страницы: https://ru.wikipedia.org/w/api.php?action=query&li...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
23 апр. 2024, в 11:46
3000 руб./за проект
23 апр. 2024, в 11:38
20000 руб./за проект