假设您要使用PHP解析DOM。您可以使用DomDocument
轻松实现这一目标。
但是,为此,您需要使用loadHTML
或loadHTMLFile
加载一些HTML,并为函数提供包含HTML的字符串(如果是{{ 1}}。
例如,如果您只想在页面内获取具有特定ID (在PHP中,不是JavaScript)的元素,怎么办?
答案 0 :(得分:2)
如果您有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之前需要进行任何更改以减少处理时间会更有意义。
如果要更改浏览器中已经显示的页面的HTML,则需要另一种方式(例如JS / AJAX),因为那时PHP可能无法访问DOM。
答案 1 :(得分:0)
getElementById
字符串在DOMDocument
实例上调用 id
方法以获取元素。 1
$element = $testDOMDocument->getElementById('test-id');