如何在 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 实体。
例如&lt;
将转换为&lt;
。
【讨论】:
以上是关于如何在 textarea、PHP 到 MySQL 上允许 html 标签?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 mysql 获取数据到 ckeditor textarea?