我创建了一部分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