PHP如何将HTML字符串保存到数据库中

新手上路,请多包涵

作为对 API 调用的响应,我得到了一个完整的 HTML 脚本。完整意味着它包括 HTML CSS 和 Javascript。现在我在 PHP 变量中将 HTML 作为字符串。

 $content = '<html>
<head>
  <script>--Some javascript and libraries included--</script>
  <title></title>
</head>
<body>
   <style>--Some Styling--</style>
</body>
</html>';

现在,将此变量保存在数据库中的最佳方法是什么以及如何保存?

  • 作为 VARCHAR 或 TEXT 类型的字符串?
  • 作为 Base64 编码的字符串,使用 VARCHAR 或 TEXT 类型?
  • 作为 BLOB 类型的二进制文件?

或者你想建议的任何其他(可能是序列化或打包)?

原文由 saiid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 666
2 个回答

我使用 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 Encode

并使用 BLOB 将数据保存在数据库中。现在检索数据后,只需按如下方式对其进行解码。

 $ContentDecoded = base64_decode($content);  // decode the base64

现在 $contentDecoded 的值是纯 HTML。

原文由 saiid 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果你对其进行 base64 编码,你会增加大约 30% 的存储大小,并且你需要在每次显示它时对其进行解码。查看 Wordpress 的 表结构,这是使用 php 将 html 存储在 mysql 数据库中的最广泛使用的软件。他们用什么?长文。在您的情况下, TEXT 可能更好,因为您可能对页面的大小有一个很好的了解。

原文由 e4c5 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题