могу предложить вам интересный костыль через хром/хромиум
ставите хромиум и через
shell_exec вызываете с параметрами headless/disable-gpu/
dump-dom (последний флаг для вашей задачи ключевой).
примерно так:
$dom = shell_exec('chromium-browser --headless --disable-gpu --dump-dom https://example.ru/');
chromium-browser заменить на имя бинарника хром(иум)а в дистрибе
в этом случае хром(иум) запустится в headless-режиме (без пользовательского графического интерфейса), без поддержки gpu (на серверах их один хрен не бывает за редким исключением), скачает страницу, все ресурсы, выполнит весь Client-Slide-рендер (как раз таки этот JS-скрипт), соберет DOM и вернет его (собранный DOM) в результате
PS: правильнее поднимать хром(иум) как сервис локальный и юзать
CDP или через
puppeteer но это долго рассказывать
PPS: не через браузеры/браузерные движки, реализация на чистом PHP мягко говоря крайне затруднительна, ибо как минимум интерпретировать JS вам каким то образом придется.