php - 数据库中的 HTML 代码

标签 php html mysql

<分区>

将 html 代码放在 MySql 数据库中是一种好的做法吗?。更具体地说,我有一个博客。我在数据库中为每个部分都有一个单独的字段:页面标题(元数据),描述,帖子标题,帖子正文......正文字段有时需要html或一种方式区分每个帖子正文之间的字幕、img 或视频及其标题。

我是唯一将内容放入该数据库的人。所以我想我不需要清理任何 html。

  • 将 html 代码放入 MySql 数据库是一种好的做法吗?
  • 如果 html 不是一个好的做法,如何区分帖子正文之间的 YouTube 视频和标题

最佳答案

我不建议将 HTML 存储在您的数据库中,因为它需要太多的清理来防止在您的数据库中存储恶意的 Javascript 代码。因此,您可以使用 PHP markdown 库以人类直观的格式很好地格式化您的消息,当您显示它时将解析为 HTML,类似于 Stackoverflow 或 Github。

参见:http://parsedown.org/

例子:

1. List 1
2. List 2

转换为:

<ol>
   <li>List 1</li>
   <li>List 1</li>
</ol>

对于评论中提到的Youtube embedding,有一个简单的markdown解决方案:添加额外的markdown规则!

您可以像这样使 markdown 语法简洁:@[Alt text] (YouTube-code)

这将转换为以下 HTML:

<iframe class="youtube" width="560" height="315" src="http://www.youtube.com/embed/{{YouTube-code }}?wmode=opaque" frameborder="0" allowfullscreen>{{ Alt text }}</iframe>

查看有关如何为 YT 实现此 Markdown 语法的信息来源:

https://github.com/michelf/php-markdown/issues/130

关于php - 数据库中的 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38159062/

相关文章:

javascript - (php/jquery) 根据另一个选中的复选框值隐藏和显示复选框

javascript - 如何对新添加的表行进行验证

php - 使用 PHPMailer 的 PHP 中的 SMTP 身份验证问题,Pear Mail 有效

javascript - 您如何创建一个自定义的 css 弹出窗口以在每个访问者每周一次的页面加载时打开

jquery - 使用 jQuery 将大量 HTML 和样式表插入页面 - 最佳实践?

HTML/CSS 图像缩略图翻转

mysql - 在 SQL 查询中使用 Distinct

php - 数据库中的多个联接

php - 在带有PDO的PHP中,如何检查最终的SQL参数化查询?

mysql - 提取缺失数据的结果