保存一个格式化的.html文件


save a .html file formatted

这是我的问题:我有我的html文档,我通过ajax发送两个值:"id"answers"一个HTML字符串"

<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'">

你看到的PROBLEM是引号前的"'":

如何保存我的文件在一个正确的html格式?

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

非常感谢,我正在寻找,我发现DOMDocument::saveHTML,但我不能使用它,我在PHP非常新的。,我真的需要类在我的html文件。

您的问题是魔术引号,通过使用.htaccess文件并放置以下指令init来关闭它。

php_flag magic_quotes_gpc Off

你也可以用

一行来保存你的文件
$file_content;
file_put_contents("filename.html", $file_content);

您的问题是由magic_quotes_gpc引起的。

2种可能的解决方案:

  • 禁用magic_quotes_gpc
  • 调用stripslashes on ' $_POST['htmlString']