Форумы портала PHP.SU » PHP » Программирование на PHP » Как загрузить страницу не полностью через curl

Страниц (1): [1]
 

1. ladan1002 - 07 Декабря, 2021 - 22:44:59 - перейти к сообщению
Здравствуйте! У меня стоит задача загрузить только часть страницы. Как это можно сделать через curl? Ограничить по размеру, например, максимум 100кб или 2000 символов, что угодно
Саму загрузку так делаю, но она полностью загружается. В интернете не нашел решения

2. Vladimir Kheifets - 08 Декабря, 2021 - 09:18:16 - перейти к сообщению
ladan1002 пишет:
Здравствуйте! У меня стоит задача загрузить только часть страницы. Как это можно сделать через curl? Ограничить по размеру, например, максимум 100кб или 2000 символов, что угодно
Саму загрузку так делаю, но она полностью загружается. В интернете не нашел решения

Добрый день!
1.Вы можете получить контент страцы в string через curl использую функцию:
Спойлер (Отобразить)
или это можно сделать с помощью статдарной функции file_get_contents.
Это просто.
2. Затем Вы хотите отправить в браузер клиента только часть контента, например, 2000 символов из переменной $content
PHP:
скопировать код в буфер обмена
  1. echo substr($content,0,2000)

Однако, в результате такого обрезания будет отправлен некорректный html.
Поэтому Вам необходимо спарсить контент и создать коректный html DOM (документ объект модель). См. DOMDocument class, SimpleXMLElement class
https://www.php.net/manual/de/cl....domdocument.php
https://www.php.net/manual/en/cl...simplexmlelement
Обратите внимание на то, что использую эти классы можно отказаться от curl(п.1).
Когда Вы получите DOM исходного сайта, то сможете сделать обрезанный DOM и преобразовав его в string отправить в браузер клиента.
Удачи!

 

Powered by ExBB FM 1.0 RC1