如何在 textarea、PHP 到 MySQL 上允许 html 标签?

Posted

技术标签:

【中文标题】如何在 textarea、PHP 到 MySQL 上允许 html 标签?【英文标题】:How to allow html tags on textarea, PHP to MySQL? 【发布时间】:2011-11-14 05:13:03 【问题描述】:

如何让php的textarea里面的这些类型的html标签进入mysql?简单的可能...<b><i><u> 等。

谢谢。

【问题讨论】:

现在怎么不允许了?如果您稍后将数据放回文本区域时使用htmlspecialchars(),则应该没有问题。 HTML Purifier 【参考方案1】:

php函数strip_tags可用于剥离除$allowable_tags之外的所有html标签。可以这样指定:

strip_tags($textareaUserInput, '<b><i><u>');

我猜你想要的是这样的东西。但是,这并不能解决需要转义的特殊字符的可能问题。

另外:看看@Phil 在他的评论中建议的HTML Purifier。如果您担心XSS 等安全漏洞,这尤其是一个好主意,因为strip_tags won't be good enough if you allow certain tags to persist。

【讨论】:

【参考方案2】:

您可以保留 HTML 标记,因为 PHP 和 MySQL 都没有这方面的问题。从数据库中检索数据并将其放入文本区域时,请确保使用htmlspecialchars() 将具有特殊含义的字符转换为 HTML 实体。 例如&amp;lt; 将转换为&amp;lt;

【讨论】:

以上是关于如何在 textarea、PHP 到 MySQL 上允许 html 标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 mysql 获取数据到 ckeditor textarea?

php将textarea内容上传到mysql表中

使用PHP逐行读取textarea中的单词并插入到mySQL

逐步存储textarea mysql php

从 PHP 将 textarea 元素插入 MySQL

PHP使用换行符从textarea保存内容