#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. Пожалуйста, добавьте дополнительные сведения, чтобы расширить свой ответ, например, ссылки на рабочий код или документацию.