为了响应API调用,我收到了一个完整的HTML脚本。完整意味着它包括HTML CSS和Javascript。现在我把那个HTML作为PHP变量中的字符串。
$content = '<html>
<head>
<script>--Some javascript and libraries included--</script>
<title></title>
</head>
<body>
<style>--Some Styling--</style>
</body>
</html>';
现在,在数据库中保存此变量的最佳方法是什么?如何?
或者您想提出的任何其他内容(可能是序列化或打包)?
答案 0 :(得分:8)
我使用base64编码数据以BLOB数据类型存储在我的数据库中。样板代码如下。
$content = '<html>
<head>
<script>--Some javascript and libraries included--</script>
<title></title>
</head>
<body>
<style>--Some Styling--</style>
</body>
</html>';
在base64中编码数据
$encodedContent = base64_encode($content); // This will Encodes
使用BLOB将数据保存在数据库中。现在,在检索数据后,只需将其解码如下。
$ContentDecoded = base64_decode($content); // decode the base64
现在 $ contentDecoded 的值是纯HTML。
答案 1 :(得分:3)
如果你对它进行base64编码,你可以将存储大小增加30%,并且每次显示时都需要对其进行解码。查看table structure的Wordpress,这是使用php在html数据库上存储html的最广泛使用的软件。他们用什么? LONGTEXT。在你的情况下,TEXT可能更好,因为你可能对页面的大小有一个很好的了解。
答案 2 :(得分:2)
使用addslashes()
函数将HTML存储到变量中。
$html = addslashes('<div id="intro">
<div id="about" align="left">
<h2 class="bigHeader" dir="rtl"HEADER</h2>
<img src="img/Med-logo.png" alt="" />
<div id="wellcomePage" class="text-left text" dir="rtl">
<p>...some words....</p>
<p>.some words....</p>
<p> </p>
</div>
</div>
</div>');
在此之后,形成一个SQL查询。
$sql = "UPDATE `Pages` SET `content`= '".$html."'";
,您必须在从DB
检索时添加stripslashes
答案 3 :(得分:1)
您可以使用base64_encode并将该字符串存储到带有text / blob类型字段
的db中答案 4 :(得分:0)
我建议您使用function changeImg(which)
{
if(which === "left")
{
alert("left");
}
else
{
alert("right");
}
}
var leftClick = document.getElementById("left");
leftClick.addEventListener("click", changeImg("left"), true);
var rightClick = document.getElementById("right");
rightClick.addEventListener("click", changeImg("right"), false);
。 Blob通常用于存储图像,音频或其他多媒体对象。详细了解bolobs
在数据库中存储HTML的数据类型为TEXT
。
使用mysql_real_escape_string()将html文本存储在数据库中
TEXT
答案 5 :(得分:0)
看到这个:我什么也没做...
我像这样使用它..工作得很好,还可以保存在mysql中,也可以正确地检索到。
$editorContent = $_POST['textarea'];
$a = $editorContent;
$insert = $db->query("INSERT INTO psd ( psdata) VALUES ( '$a')" );