2015-02-08 31 views
0

下面的代碼成功地從文件中刪除了子文件夾(沒問題),這正是我正在尋找的內容,但是我還想要的是刪除代碼這使得孩子div在第一位,使文件仍然很小,因爲當我查看該文件的源代碼時,我看到的代碼,使得子div,然後下面的代碼將其刪除,使文件很大,每次我刪除並添加div。如果我正在嘗試實現可能,請讓我知道我是否可以刪除或者更確切地說OVERWRITE文件中的單個html元素。覆蓋文件中的div內容並從文件中完全刪除舊內容

$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); 

回答

0

下面的代碼解決了這個問題對我來說,它完全覆蓋內容

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

該文件在網絡負載方面並沒有變小。如果你無論如何都要控制源代碼(php),那麼爲什麼不把它完全剝離,沒有javascript的開銷?

嘗試http://php.net/manual/en/domdocument.loadhtml.php

[編輯] 如果你想找到ID的特定elemt,使用http://php.net/manual/en/domdocument.getelementbyid.php

+0

,我使用js動態獲取ID,我想從文件中刪除行,div是具體的, – Sebastian 2015-02-08 20:56:56

+0

還是有可能的o只用php和js從文件中刪除子div? – Sebastian 2015-02-08 21:01:14

+0

如果你可以用js獲得id,那麼你可以用php。除非頁面加載後生成ID。在這種情況下,我會建議編寫一個單獨的JavaScript文件並加載它。 – 2015-02-08 21:01:25