API呼び出しへの応答として、完全なHTMLスクリプトを取得しています。 Fullは、HTMLCSSとJavascriptが含まれていることを意味します。これで、そのHTMLがPHP変数の文字列として作成されました。
$content = '<html>
<head>
<script>--Some javascript and libraries included--</script>
<title></title>
</head>
<body>
<style>--Some Styling--</style>
</body>
</html>';
さて、この変数をデータベースに保存する最良の方法は何ですか?
またはあなたが提案したい他のもの(シリアライズまたはパックかもしれません)?
私は、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になります。
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
を追加する必要があります
Base64でエンコードすると、ストレージサイズが約30%増加し、表示するたびにデコードする必要があります。 phpを使用してmysqlデータベースにhtmlを格納する最も広く使用されているソフトウェアであるWordpressの テーブル構造 を見てください。彼らは何を使用していますか? LONGTEXT。あなたの場合、おそらくあなたはおそらくページのサイズについて良い考えを持っているので、TEXTはより良いでしょう。
base64_encodeを使用して、その文字列をテキスト/ブロブタイプのフィールドでdbに保存できます
これを参照してください:私は何もしませんでした...私はこのようにそれを使用します..うまく機能し、mysqlに保存し、適切に戻ります。
$editorContent = $_POST['textarea'];
$a = $editorContent;
$insert = $db->query("INSERT INTO psd ( psdata) VALUES ( '$a')" );
TEXT
を使用することをお勧めします。ブロブは通常、画像、オーディオ、またはその他のマルチメディアオブジェクトを格納するために使用されます。についてもっと読む bolobs
HTMLをデータベースに保存するデータ型はTEXT
になります。
mysql_real_escape_string() を使用してhtmlテキストをデータベースに保存します
$content = '<html>
<head>
<script>--Some javascript and libraries included--</script>
<title></title>
</head>
<body>
<style>--Some Styling--</style>
</body>
</html>';
$html = mysql_real_escape_string($content);