【问题标题】:TinyMCE saves html tags in database.How to store data without thm tags?TinyMCE 将 html 标签保存在数据库中。如何在没有 thm 标签的情况下存储数据?
【发布时间】:2016-03-10 11:08:27
【问题描述】:

我正在使用 TinyMCE 编辑器。当我将数据保存到数据库时,它也在存储 HTML 标签。我使用了 strip_tags() 但没有工作。

当我尝试将它存储在数据库中时,它就像 <strong>paragraph</strong> 一样存储。谁能告诉我如何在数据库中存储没有 HTML 标记的数据。

第一张图片是我当前的输出,第二张图片是我想要的输出。

【问题讨论】:

  • “不丢失 HTML 效果” - 你是什么意思? HTML 标签是什么赋予“HTML 效果”
  • 没有html标签是无法保持html效果的。您必须使用 html 标签存储数据以保持 html 输出,否则它将转换为纯文本。
  • 当我使用 strip_tags() HTML 效果消失了,它只存储文本。但我只想将文本存储在数据库中,但在显示内容时它应该显示 HTML 效果
  • 当我使用这个 strip_tags($a['name']."" 它给了我正确的结果,就像它在数据库中存储纯文本并显示带有粗体效果的文本。我不想要显示特殊效果,如 标签。它应该灵活地与

    或任何其他标签

  • @Shweta 在这种情况下这不是一个坏习惯。您应该了解使用所见即所得编辑器的目的。 TinyMCE 是一个基于 HTML 的编辑器,它使用 HTML 保留文本格式!您可以删除标签并保留格式。如果您不想存储 HTML 标签,最好不要使用 TinyMCE。只是我们纯文本区域。

标签: php html security laravel-5 wysiwyg


【解决方案1】:

它可以很好地存储数据。如果您删除 HTML 标签,您将丢失在编辑器上创建的格式。

您不能在数据库中存储纯文本并同时保持文本格式。

解决方案:

我认为您正在寻找类似htmLawed 的东西。有一个packagist wrapper available here。这只会去除漏洞并清理您的 HTML。

用法:

只需将以下内容添加到您的 composer.json

"require": {
    "vanilla/htmlawed": "~1.0"
}

然后运行composer update

$xss = "<i>nothing to see <script>alert('xss')</script>";

// Pass an empty config and spec for no filtering of malicious code.
echo Htmlawed::filter($xss, [], []);
// Outputs: '<i>nothing to see <script type="text/javascript">alert("xss")</script></i>'

// Pass safe=1 to turn on all the safe options.
echo Htmlawed::filter($xss, ['safe' => 1]);
// Outputs: '<i>nothing to see alert("xss")</i>'

// We provide a convenience method that strips all tags that aren't supposed to be in rss feeds.
echo Htmlawed::filterRSS('<html><body><h1>Hello world!</h1></body></html>');
// Outputs: '<h1>Hello world!</h1>'

示例:

{!! Htmlawed::filter($richText, ['safe'=>1]) !!} //Blade style

echo Htmlawed::filter($richText, ['safe'=>1]); //PHP style

注意:我没有使用过{{ }}。默认情况下,Blade{{ }} 语句会通过 PHP 的 htmlentities 函数自动发送,以防止 XSS 攻击。如果您不希望您的数据被转义,您可以使用以下{!! $name !!}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    相关资源
    最近更新 更多