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

overwriting div contents in a file and removing old contents completely from file

下面的代码成功地从文件中删除了 child div(没问题),这正是我正在寻找的,但我也想要的是删除使child div 首先使文件保持较小,因为当我查看文件的源代码时,我看到了使 child div 的代码,然后下面的代码删除它,每次删除和添加 divs 时都会使文件变大。如果我想要实现的目标是可能的,请也让我知道我是否可以删除或覆盖文件中的单个 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);

文件在网络负载方面并没有变小。如果无论如何您都在控制源 (php),那么为什么不完全剥离它,而不会有 javascript 开销?

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

[编辑] 如果您想通过 id 查找特定元素,请使用方法 http://php.net/manual/en/domdocument.getelementbyid.php

下面的代码帮我解决了,它完全覆盖了内容

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