2013-06-20 105 views
0

一個.html文件這是我的問題: 我有,我通過ajax兩個值發送給我的html文件: 「id」和「一個HTML字符串」PHP - 保存格式

<div class="myClass"><h1 class="myClass">this is my html string </h1></div> 

我收到此在我的PHP文件數據,我保存在一個.html文件中的數據:

Ajax代碼:

$(".button").on("click", function(e){ 
      e.preventDefault(); 
      var string = $(".htmlString").html(); 
      $.ajax({ 
       url: "data.php", 
       type: "post", 
       data: { 
        ID: "correctID", 
        htmlString: string 
       }, 
       success: function(){ 
        alert('ok'); 
       }, 
       error:function(){ 
        alert('error'); 
       } 
      }); 
     }); 

PHP代碼:

if ($_POST['id'] == "correctID") { 

    $fileLocation = $_SERVER['DOCUMENT_ROOT'] . "/www/file.html"; 
    $file = fopen($fileLocation,"w"); 
    $content = $_POST['htmlString']; 
    fwrite($file,$content); 
    fclose($file); 
} 

輸出.html文件內容是這樣的:

<div class=\"myClass\"><h1 class=\"myClass\"> 

問題,你看到的是「\」引號前:

我如何保存我的文件中正確html格式?

<div class="myClass"><h1 class="myClass"> 

非常感謝,一直在尋找,我發現的DOMDocument :: saveHTML,但我不能使用它,林在PHP很新..,我真的需要在我的HTML文件中的類。

+0

只是一個側面說明

  • 通話的stripslashes:如['h1'是塊元素] (http://stackoverflow.com/q/4041820/2088851),你可能不需要將它插入'div'(此外還有相同的類)。 – Voitcus

  • +0

    是的我知道,這就是例子的理由,謝謝@Voitcus – diego

    +0

    首先要做的事情就是var_dump($ _ POST)以確保它不包含引號。這會告訴你這個錯誤是來自js還是php。 – Virus721

    回答

    0

    你的問題是魔術引號,通過使用.htaccess文件並放置以下指令init將其關閉。

    php_flag magic_quotes_gpc Off 
    

    而且要保存文件,你可以使用

    $file_content; 
    file_put_contents("filename.html", $file_content); 
    
    +0

    我把.htaccess文件放在哪裏?在根?或者在我保存我的.html文件的路徑中? @ DevZer0 – diego

    +0

    你可以在腳本文件的根目錄或同一級別 – DevZer0

    0

    你的問題是由magic_quotes_gpc的造成一行做。

    2個可能的解決方案:

    • 關閉magic_quotes_gpc上`$ _ POST [ 'htmlString']