Сергей, скорее всего эмулировать получится, но это может быть очень сложно (дорого по трудозатратам на реверс-инжиниринг).
Можно сделать простенькую обертку которая отбрасывает N элементов из $elements, ну тех, которые вы уже перебрали. Но все равно они будут висеть где-то на странице, потому что так уж устроены эти идиотские системы с бесконечным скроллом. И 100000 элементов могут запросто подвесить вам и селениум, и любой другой браузер.
Насколько я понимаю, это вообще никак не лечится, если только разработчики того сайта не предусмотрели альтернативный механизм пагинации.
Хинт: я однажды на слабеньком компе сильно хотел прокрутить такую "бесконечную" ленту довольно глубоко. В девтулс написал скриптик, который удалял нафиг элементы в начале списка, когда он разрастался до определенного размера. Удавалось проскроллить довольно далеко, но все равно были какие-то утечки, и со временм браузер начинал тупить. Такие дела.
sorry_i_noob, текущий каталог это __DIR__
Родительский - dirname(__DIR__)
Прямые слеши сработают на nix и на винде, но не сработают на какой-нибудь OpenVMS, или других ЭКЗОТИЧЕСКИХ операционках, которые есть в той табличке по вашей ссылке.
И только вам решать нужна ли вам поддержка таких систем, или вам достаточно винды и *nix.
Антон, там все хуже, он не отправляет через этот класс, а продолжает дергать стандартый mail(), передавая туда класс как строку.
И сообщения об ошибках игнорирует. Это сложно лечить.
olya_097, сорри, у меня некоторое время была открыта вкладка, и я писал комментарий как будто он третий в этой ветке, а оказалось что все уже успели разъяснить :)
Свой сервер написать настолько проще, чем настроить существующий, что вариант "прописать соответствующее правилов в htacess или конфиг nginx" вы даже не рассматриваете?
sorry_i_noob, в большинстве случаев, задачу можно решить несколькими способами, и одни из них могут вам показаться более простыми, а другие - более сложными. На практике выбирают те что понадежнее, поэкономнее по ресурсам, попроще в реализации, или даже какие первые в голову придут.
Можно действительно читать блоками, подобрав размер блока так, чтобы ваша регулярка не упиралась в pcre.backtrack_limit
Чтобы избежать проблемы "пробелы попали на границу" нужно либо брать блоки с перекрытием, либо запоминать сколько там было пробелов в конце предыдущего блока и складывать их с кол-вом пробелов в начале текущего.
Или можно забраться в настройки и увеличить pcre.backtrack_limit и надеяться, что PHP сможет прожевать ваш файл.