如何用php dom获取页面的html?

时间:2014-10-09 13:18:37

标签: php dom

有没有办法将已编写的html作为变量?如果已经编写了html并且有人希望将它们变为变量怎么办?

试图解释更多................

我看过很多关于php dom的文章,教程,问题和答案,但大多数人都说要初始化我必须这样做

$html = '<div><h1>Sample Title</h1></div>';
$dom = new domDocument;
// load the html into the object
$dom->loadHTML($html);

这意味着我必须将dom元素分配给变量。

但是不想创建变量$ html,我只想获取代码所在的php文件的所有html并修改它们,然后再像浏览器那样传递给客户端。例如:

<html>
<body><div><h1>Sample Title</h1></div></body>
</html>
$dom = new domDocument;    
$dom->loadHTML(the above html);

有什么办法吗?在此先感谢您的任何帮助

1 个答案:

答案 0 :(得分:1)

要获得通常以HTML格式发送到浏览器的输出,请使用输出缓冲:

ob_start();

// Generate your HTML

$output = ob_get_contents();

现在,您可以在将$ output发送到浏览器之前对其进行操作。要在不发送输出的情况下停止缓冲,请使用:

ob_end_clean();

要以当前形式发送输出,请使用:

ob_end_flush();

要在发送之前更改输出,可以使用'ob_end_clean()'停止缓冲而不发送缓冲区的内容,然后进行更改,然后回显或以其他方式输出修改后的HTML。

ob_end_clean();
$modifiedHTML = // Do something with $output
echo $modifiedHTML;