@Us59

Как вытащить json в данном html?

<!DOCTYPE html>
<html lang="en-us">
<head>
        <title>Text</title>
</head>
<body>
    <div class="pane" role="main" onclick="void(0)">
        <div id="text" class="container tooltip-hide"></div>
    </div>
<script type="text/javascript">
    Classify("cs.services/GlobalObject").set({
        pageContext: "",
        countryCode: "us",
        langCode: "en",
        errorMsg: ""
    });
    Classify("cs.services/GlobalObject").set("userObj", 'null');
    Classify("cs.services/GlobalObject").set("countryLangLinks", '{"code":"us","languages":[{"code":"en","label":"English","selected":true},{"code":"es","label":"Español","selected":false}],"action":"/us/en/country","label":"United States"}');
</script>

     <script>
        Classify("cs.services/GlobalObject").set("responseJson",{"DISPUTE_MESSAGE":"Test","results":[{"resultText":"LALALA."},{"resultText":"TEXT HERE"},{"resultText":"123"}],"STATUS":"OK","REG":"Y", "Info":{"text":"123","text2":"3","image":"url","id":"12345"}});
        Classify("cs.services/GlobalObject").set("responseJson.LINK_URL","/us/en/");
        Classify("cs.services/GlobalObject").set("callerId","ccweb");
    </script>
</body>
</html>


Задача вытащить вот этот json:
{"DISPUTE_MESSAGE":"Test","results":[{"resultText":"LALALA."},{"resultText":"TEXT HERE"},{"resultText":"123"}],"STATUS":"OK","REG":"Y", "Info":{"text":"123","text2":"3","image":"url","id":"12345"}}
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
Изучите https://www.php.net/manual/ru/class.domdocument.php
После получите innerText искомого элемента <script>.
А дальше или какой-нибудь JParser, или Регулярные выражения.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Составьте regex по уникальной подстроке DISPUTE_MESSAGE и натравите его на HTML-код страницы (не на DOM!).
Используйте preg_match() для получения нужных совпадений подстроки по REGEX-выражению.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы