Здравствуйте. Имею парсер, в парсере использую конструкцию: $perem1 = file_get_html('https://www.link.tld'); foreach($perem1->find('span.breadcrumbs-link-count') as $perem2) echo "$perem2->plaintext" . '<br>'; В парсере таких запросов много. И получается, что переменные вида $perem1, содержащие целые страницу в себе, не очищаются и забивают всю память. Соответственно скрипт не отрабатывает до конца. Мне нужно как-то очистить переменную $perem1 после того как отработает find и запишет данные в переменную $perem2. За ранее спасибо.
Только в правилах запрещено обсуждение парсеров. Используй API сайта вместо парсинга. --- Добавлено --- link.tld так круто, но можно по рекомендациям IANA использовать специальные домены для примеров: example.com, example.org, example.net https://ru.wikipedia.org/wiki/Домены_для_примеров
Получается вот что: $perem1 = file_get_html('https://www.link.tld'); foreach($perem1->find('span.breadcrumbs-link-count') as $perem2) unset ($perem1); echo "$perem2->plaintext" . '<br>'; При количестве таких конструкций более 20 получаю ошибку: Fatal error: Allowed memory size of ... Как и без unset ($perem1);
А может быть они просто не хотят, чтобы кто-то получал их данные? Может нужно сначала поговорить с разрабами сайта, прежде, чем тащить у них контент, в который они вкладывали труд?