【问题标题】:remove <br> tag on ckeditor output删除 ckeditor 输出上的 <br> 标记
【发布时间】:2018-10-03 13:47:45
【问题描述】:

我已经用 ckeditor 集成了一个 textarea 框,每次我在后端按 Enter 键换行时,它都会在前端输出 &amp;lt;br&amp;gt;,有没有办法像我一样在前端删除 &amp;lt;br&amp;gt;不希望前端的html标签输出

我的代码行如下所示

echo "<strong>Sites Linked Out To</strong>: " . $row->sites_linked_out_to;

有没有办法在添加到数据库之前或之后删除 html &amp;lt;br&amp;gt; 标签?

提前谢谢你

【问题讨论】:

  • 你的意思是你真的在屏幕上看到了&amp;lt;br&amp;gt; 还是你不想换行?
  • 对不起,我实际上在屏幕上看到
    ,我需要
    用换行符替换
  • 您在数据库中看到了什么,&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;?您可以用 grep 查找 htmlentitieshtmlspecialchars 的代码 - 您可能在某处不必要地对字符串进行编码。

标签: php mysql ckeditor


【解决方案1】:

php剥离标签功能写入标签辅助参数,保持标签,其他html标签干净

strip_tags($input, '<a><img><div><strong>');

更多关于带标签功能的信息http://php.net/manual/tr/function.strip-tags.php

【讨论】:

  • 我将把那行代码放在哪里,会不会出现在从 db 输出数据的 php 文件中
  • 如果 $row->sites_linked_out_to 变量在 ckeditor 输出字符串中,则 echo "&lt;strong&gt;Sites Linked Out To&lt;/strong&gt;: " . strip_tags($row-&gt;sites_linked_out_to, '&lt;a&gt;&lt;img&gt;&lt;div&gt;&lt;strong&gt;');
  • 我尝试了你的代码,但是当我在后端文本区域的 ckeditor 中按 Enter 键时,仍然输出
    标签
  • 在 db 插入过滤值之前,但我不知道您的插入代码。
  • 我的插入代码看起来像这样-> $sites_linked_out_to = htmlentities($_POST['sites_linked_out_to'], ENT_QUOTES); and // 将新记录插入数据库 if ($stmt = $mysqli->prepare("INSERT website (sites_linked_out_to) VALUES (?,)")) { $stmt->bind_param("s", $sites_linked_out_to);
【解决方案2】:

您可以在插入内容时调用nl2br()

这会将任何&lt;br&gt; 替换为新行\n

请注意;如果您实际上看到该标签,则它可能在某处进行了 url 编码。如果您在此编码发生之前调用nl2br(),它应该可以工作。

您还可以使用strip_tags 去除其他不需要的标签。替换新行后执行此操作。

define('ALLOWED_TAGS', '<p>,<strong>,<ul>,<li>,<ol>,<em>');
$sContent = strip_tags( nl2br($sContent), ALLOWED_TAGS);

请注意,这不会删除 &lt;a href='#' onclick='DO_SOMETHING_BAD'&gt;click me&lt;/a&gt;

您可以考虑使用诸如 html 净化器之类的库来清理输入。或者只是确保您正确清理所有输出。

请参阅nl2br()strip_tags 了解更多信息。

【讨论】:

  • 我想通过 config.enterMode = CKEDITOR.ENTER_BR;在 ckeditor config.js 文件中,它会删除
    标签
  • 不管这是否有效,我都不建议依靠 javascript 来执行此操作。如果用户禁用它并自己输入 HTML 或
    标签怎么办?
【解决方案3】:

我知道我迟到了,但这可能对某人有所帮助..

使用

htmlspecialchars_decode($your_string);

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 2012-07-31
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多