За последние 24 часа нас посетили 22547 программистов и 1008 роботов. Сейчас ищут 629 программистов ...

php парсер

Тема в разделе "Прочие вопросы по PHP", создана пользователем MaciFree, 15 дек 2021.

Метки:
  1. MaciFree

    MaciFree Новичок

    С нами с:
    14 дек 2021
    Сообщения:
    1
    Симпатии:
    0
    Сервер генерирует страницу, в html код которой выводится кусок js скрипта

    Код (Text):
    1. app.init({
    2.     seo: {
    3.         seoParams: [
    4.             { tagName: "meta", attributesDictionary: { property: "og:image", content: "https://site.ru/images/123456.jpg" } },
    5.             { tagName: "meta", attributesDictionary: { property: "og:title", content: "Тайтл страницы" } },
    6.             { tagName: "meta", attributesDictionary: { property: "og:description", content: "Описание для страницы" } },
    7.         ],
    8.     },
    9. });
    я с помощью библиотеки phpquery распарсил html код, на выводе получаю текст, который между тэгов <script></script>, пример выше.

    как мне дальше используя php достать и оставить только то, что находится между app.init({вся нужная инфа});?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    @MaciFree большой брат следит за тобой. парсеры это скользкая тема и здесь ты можешь легко схлопотать бан. потому что контент надо получать легально! часто для этого предоставляется удобный API.

    что касается добычи данных, то для частного случая можно сочинить регулярку с рекурсией, чтобы она справлялась с вложенными скобками. но в общем случае, регулярки не годятся для полного разбора. их удел разбиение на лексемы, а дальше должен работать какой-то анализатор грамматики более высокого уровня. возможно на низколм уровне тебе пригодятся token_get_all token_name

    про разбор выражения (а это оно) написано много хороших книг. гугли написание компиляторов.