覆盖文件中的div内容并从文件中完全删除旧内容

时间:2015-02-08 20:46:02

标签: php dom

下面的代码成功地从文件中删除了子div(没问题)这就是我要找的东西,但我也想要的是删除那些首先创建子div的代码,以便文件仍然很小,因为当我查看文件的源代码时,我会看到使子div生成的代码,然后是下面的代码将其删除,每次删除并添加div时都会使文件变大。如果我试图实现的目标是可能的,请告诉我是否可以删除或者更改OVERWRITE文件中的单个html元素。

 $myfile = fopen("../userfolders/$email/$ongrassdb/$pagenameselected.php", "a+") or die("Unable to open file!");
 $txt = '<script>
 var parent = document.getElementById("wrapper");
 var child = document.getElementById("rock");
 parent.removeChild(child);
 </script>';
 fwrite($myfile, $txt);
 fclose($myfile);

2 个答案:

答案 0 :(得分:0)

文件在网络负载方面不会变小。如果你无论如何都控制了源代码(php),为什么不在没有javascript开销的情况下完全剥离它呢?

尝试http://php.net/manual/en/domdocument.loadhtml.php

[编辑] 如果您想按ID找到特定的elemt,请使用方法http://php.net/manual/en/domdocument.getelementbyid.php

答案 1 :(得分:0)

以下代码为我解决了它,它完全覆盖了内容

$dir = "path";
$line = 'texttochange';
$line2 = 'towhatever';
$contents = file_get_contents($dir);
$contents = str_replace($line, $line2, $contents);
file_put_contents($dir, $contents);