【问题标题】:Insert HTML codes in CKEditor textarea在 CKEditor 文本区域中插入 HTML 代码
【发布时间】:2013-04-30 05:24:53
【问题描述】:

我想知道是否有插件可以在 CKEditor 文本区域中插入 HTML 代码?

我尝试安装 PBCKCode 插件,但它不起作用,因为 HTML 是在我的 textarea 中执行的。

安东尼

EDIT1 ----- INSERTPRE 插件 -------

在我添加帖子时查询:

    INSERT INTO `Posts` (`slug`,`title`,`thumbnail`,`content`,`tags`,`state`,`click`,`createdAt`,`updatedAt`,`id`) VALUES ('dsq','dsq','http://4.bp.blogspot.com/-knCgLUMOkJc/TeMY2jkmACI/AAAAAAAAAV0/VByHmoMa2N8/s1600/first+blog+posting.jpg','<pre class="prettyprint">\r\n&lt;div&gt;toto&lt;/div&gt;</pre>\r\n\r\n<p>dqsdqs</p>\r\n','toto','0',0,'2013-04-30 12:15:46','2013-04-30 12:15:46',NULL);

当我尝试编辑帖子时,我的文本区域中的结果:

    <pre class="prettyprint">

    &nbsp;</pre>

    <div>toto</div>

    <p>dqsdqs</p>

如您所见,“div”的位置发生了变化。

EDIT2 ----- 转义 HTML --------

截图:http://grab.by/m8bs

正如您所见,它在 P 标记(就在 slug 上方)中有效,但在我的 textarea 中无效。我认为 CKEditor 对我的内容进行了编码,但我不知道何时以及为什么...在我的数据库中一切正常,我将代码放入 PRE 标记中。

【问题讨论】:

  • “在 CKEditor 文本区域中插入 HTML 代码”是什么意思?请注意,CKEditor 将 textarea 替换为包含可编辑元素的 iframe。 Textarea 只是数据的来源。
  • 我想添加一些代码,如“PHP 代码”、“Javascript 代码”、“HTML 代码”等...以便解释 Web 开发中的一些内容。
  • 更新:那是因为您在将 HTML 传递给 textarea 之前没有对其进行编码。使用htmlspecialchars(或其他类似函数,如果您不使用 PHP)来做到这一点。

标签: ckeditor


【解决方案1】:

检查这两个插件:

我们在http://ckeditor.com/forum 上使用了第一个,效果很好。

更新:这是因为您在将 HTML 传递给 textarea 之前没有对其进行编码。使用 htmlspecialchars(或其他类似函数,如果您不使用 PHP)来做到这一点。

Update2:你做错了什么,但我不知道在什么阶段。带有一个 &lt;pre&gt; 元素的编辑器的输出数据 (editor.getData()) 是:

<pre class="prettyprint">&lt;div&gt;</pre>

看到&lt;pre&gt; 没有编码,但里面的&lt;div&gt; 是编码的。您的示例向我展示了您“扁平化”了该结构-您在应该编码的情况下对两者进行了同等编码:

&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;div&amp;gt;&lt;/pre&gt;

注意:&amp;amp;lt; 是一个编码的&amp;lt;

【讨论】:

  • 更新我的帖子。我遇到了 INSERTPRE 问题。
  • 我使用 NodeJS 和 ExpressJS。所以它是在 Javascript 中。
  • 我尝试使用你的功能,但我得到了同样的东西。最令人印象深刻的是我可以在 P 标签中显示 HTML 内容。见上文#EDIT2。
  • CKEditor 4.4将引入官方code snippet插件。它现在已经准备就绪,但 4.4 将在 2 个月内发布。我不知道 insertpre 与 4.3 的兼容性,尽管我看到它适用于 ckeditor.com/forums。尝试联系其作者。
【解决方案2】:

您可以使用 ck 编辑器标题中的源菜单来添加您的 html

使用本教程 demo link

【讨论】:

  • 我想在我的文章中添加一些代码,我的意思是,我不希望在我的文章中执行 HTML。
【解决方案3】:

好的,试试这个

添加帖子

addslashes($_POST['post_from_textarea']);

编辑

stripslashes($yourvairablegetRowsQuery)

【讨论】:

  • 加斜杠()?下一步是什么?增强体积(),减少老化(),覆盖皱纹()?
  • @nimasmi addlashes() 是 php 转义某些字符的方式。
  • 谢谢。对不起。我开玩笑地把它解释为“加睫毛”,就像在化妆品广告中一样。
猜你喜欢
  • 2017-03-30
  • 2012-11-21
  • 2011-03-10
  • 2012-04-14
  • 1970-01-01
  • 2014-12-13
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
相关资源
最近更新 更多