PHP доступ DOM на вашей странице - PullRequest
0 голосов
/ 06 февраля 2019

Допустим, вы хотели проанализировать DOM с помощью PHP.Вы можете легко добиться этого, используя DomDocument.

. Однако для этого вам нужно будет загрузить некоторый HTML-код, используя loadHTML или loadHTMLFile, и предоставить функциям строку, содержащую HTML (или путь к файлу в случае loadHTMLFile).

Например, если вы просто хотите получить элемент с определенным идентификатором (в PHP, а не в JavaScript) , ВНУТРИ вашегостраница, что вы можете сделать?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Если у вас есть PHP-код, генерирующий страницу, вы можете использовать выходной буфер, чтобы сгенерировать страницу в памяти, отредактировать сгенерированную страницу и затем сбросить ее в браузер.Вы можете изменить DOM только до того, как браузер получит .

Вы можете сделать следующее:

ob_start(); // Should be called before any output is generated

// ... PHP code that outputs HTML ...

$generated_html = ob_get_clean(); // Store generated HTML to string

// Load and manipulate HTML
$doc = new DOMDocument();
$doc->loadHTML($generated_html);

// ... Manipulate the generated HTML ...

echo $doc->saveHTML(); // echo the modified HTML

Однако, поскольку вы генерируя HTML, было бы более разумно изменить все, что вам нужно изменить, прежде чем он будет сгенерирован, чтобы сократить время обработки.

Если вы хотите изменить HTML-код страницы, которая уже отображается в браузере, вам понадобитсядругим способом (например, JS / AJAX), поскольку в этот момент PHP не может получить доступ к DOM.

0 голосов
/ 06 февраля 2019
Метод

getElementById может быть вызван для экземпляра DOMDocument со строкой id для получения элемента. 1

$element = $testDOMDocument->getElementById('test-id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...