Как я могу получить доступ к данным в скрипте из html, проанализировав URL-адрес?

#php #dom

Вопрос:

Структура, например:

 <body>
    <script id="something" type="application/json">
    {
        "a": {
            "b": "c"
        },
        "d": {
            "e": "f"
        }
    }
    </script>
</body>
 

Моя цель -:

  • Во-первых, разбор URL-адреса, например www.google.com. Так что теперь у меня есть html-файл URL-адреса.
  • Во-вторых, я хочу получить данные в скрипте в соответствии с этой структурой после анализа URL-адреса.
  • Наконец, после доступа к данным я хочу преобразовать их в JSON.

Итак, как я могу получить доступ к данным в скрипте, проанализировав URL-адрес?

Ответ №1:

Если я правильно понимаю ваш вопрос, вы хотите получить доступ к данным в PHP script элемента с определенным id , который является частью некоторого HTML.

Что бы я сделал, так это использовал DOMDocument, встроенный класс, который можно использовать для анализа XML и HTML. Затем вы можете использовать loadHTML метод, за которым следует getElementById метод, для извлечения элемента с помощью вашего id («что-то» в вашем примере). Поскольку элемент теперь хранится как переменная, вы можете получить доступ к содержимому с textContent помощью свойства.

Вот пример:

 $doc = new DomDocument;
$doc->loadHTML('<body>
    <script id="something" type="application/json">
    {
        "a": {
            "b": "c"
        },
        "d": {
            "e": "f"
        }
    }
    </script>
</body>');

$something = $doc->getElementById('something');

var_dump($something->textContent);
 

Или посмотрите этот рабочий пример.

Ответ №2:

Возьмите свой объект и постройте его.

   const urlData = JSON.stringify({
        "a": {
            "b": "c"
        },
        "d": {
            "e": "f"
        }
    })
 

Теперь передайте эти данные на свой URL-адрес,

HTTP://localhost/data=${urlData}

затем извлеките данные из URL-адреса из запроса данных,

когда вы получили данные, затем передайте их JSON.parse , и здесь вы получили свой результат.

Спасибо

Комментарии:

1. Во-первых, спасибо за ваш ответ. Но я не это имел в виду. У меня есть URL-адрес, такой как www.google.com, и я анализирую URL-адрес. После этого я хочу получить доступ к данным в скрипте в формате html url. Извините за недоразумение.

2. Пожалуйста, добавьте дополнительные сведения, чтобы расширить свой ответ, например, ссылки на рабочий код или документацию.