0

我有一个用 PHP 编写的页面,在 PHP 编写之后,我希望能够搜索 HTML 源代码以找到某些标签。这是不可能/不明智的吗?

当技术上所有内容都已写入 HTML 时,我尝试在脚本末尾使用 file_get_contents,我想我可能暂时以这种方式破坏了我的页面(在我的主机上达到资源限制)

我的主要目标是试图弄清楚如何使用 Javascript 来一一更改页面的元素。如果我能找到我想要更改的 html 标签,我认为我可以做到这一点...... PHP 写的......在同一页面中。

您看到的 Javascript 非常新。

4

4 回答 4

1

你可以很容易地做到这一点,客户端,使用 jquery。

如果您绝对需要使用 php 在服务器端处理它并且在生成代码时绝对不能这样做,您可以使用 ob_start() 来捕获输出,然后在执行 ob_end_clean() 之前使用 ob_get_contents() 将其放入字符串中将其刷新到浏览器。

于 2012-05-04T21:12:50.697 回答
0

如果我没有理解错,页面加载后你想改变你自己的 html 输出,所以,

<?php
 echo "<div id='mydiv'></div>";
?>
<script type="text/javascript">

      window.onload = function() {  
        document.getElementById("mydiv").innerHTML = "updated html";  
      }  

</script>
于 2012-05-04T21:17:14.530 回答
0

除非您在生成页面时捕获输出,例如

<?php

ob_start();
.... page building here ...
$page = ob_get_clean();
echo $page;
?>

你将没有什么可做的。但是,如果您按照上述方式进行捕获,那么您可以简单地将 $page 输入DOM并在那里进行操作。

但这引出了一个问题……如果您需要在页面构建后更改页面,为什么不首先更改它的构建方式?

于 2012-05-04T21:19:01.487 回答
0

您可以在大多数浏览器中右键单击呈现的网页,然后选择“查看源代码”的一些变体。或者,您可以卷曲页面内容,并将其作为文本文件查看。

此外,file_get_contents();发出新请求以获取页面/文件的内容。因此,如果您加载一个页面,并且在底部,它会尝试获取页面内容,它将永远加载一个新页面,然后是另一个页面。您正在创建一个无限循环,并耗尽您分配的资源,这取决于您的托管服务提供商。

于 2012-05-04T21:13:16.430 回答