我創建了一部分CMS,允許管理員將頁面上的所有文本轉換爲textareas,以便他們可以編輯內容。他們改變的所有內容都在div內,我通過jQuery/AJAX將div的內容提交給處理數據的PHP控制器。然而,jQuery非常完美地抓取了HTML並將其發送給PHP控制器,但PHP會修剪一些內容(每隔一段時間刪除一些標籤)。使用PHP fWrite保存HTML數據導致格式問題
例如,如果我提交
<div class="cmsedit" style="background-color:#EEE">Hello</div>
這將節省/寫這個
div class="cmsedit">Hello</div> .
它消除了左括號到div和b中的文件。它不會一直這樣做。如果我不包含樣式標籤,通常會讓代碼很好。
這是我在javascript頁面上使用的代碼。
$('.save_page').click(function(){
updated_content = $('.content_to_be_edited').html();
edit_page = $('#edit_page_name').val();
$.post("<?=site_url('admin/update_page_data') ?>", { content:updated_content,page_name:edit_page });
});
這裏是PHP控制器Page
$page_content = $this->input->post('content');
$page_name = $this->input->post('page_name');
$filename = $_SERVER['DOCUMENT_ROOT']."/application/views/".$page_name.".php";
// SAVE NEW FILE
$file = fopen($filename, 'w') or die("Can't open file");
$filedata = htmlspecialchars_decode($page_content);
fwrite($file, $filedata);
fclose($file);
任何人有任何想法,爲什麼這些標籤讓所有搞砸了PHP處理數據時?謝謝!!
您是否已對$ page_content進行了回顯以確保您正確接收它? – jprofitt
遠程代碼注入FTW。 – hakre