Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据库项中的html标记未呈现为html_Javascript_Php_Html_Mysql_Ckeditor - Fatal编程技术网

Javascript 数据库项中的html标记未呈现为html

Javascript 数据库项中的html标记未呈现为html,javascript,php,html,mysql,ckeditor,Javascript,Php,Html,Mysql,Ckeditor,我有一个表单,其中有一个notes部分,用于在提交到MySQL数据库时分隔段落。因此,将提交以下两段: <p>Paragraph 1</p><p>Paragraph 2</p> 第1段第2段 我的问题是,当这些数据显示在网页上时,HTML标记也没有像我预期的那样被读取为HTML。当我在Dev工具中查看页面时,它在第一个和最后一个HTML标记外显示引号,如下所示。这表示标记被视为文本 “<p>Paragraph 1</p>

我有一个表单,其中有一个notes部分,用于在提交到MySQL数据库时分隔段落。因此,将提交以下两段:

<p>Paragraph 1</p><p>Paragraph 2</p>
第1段

第2段

我的问题是,当这些数据显示在网页上时,HTML标记也没有像我预期的那样被读取为HTML。当我在Dev工具中查看页面时,它在第一个和最后一个HTML标记外显示引号,如下所示。这表示标记被视为文本

“<p>Paragraph 1</p><p>Paragraph 2</p>”
“第1段

第2段

我在另一个网站上也做了同样的事情,但这次效果很好,并且正确地呈现了HTML标记。当我在Dev工具中查看这一点时,它会在每个段落的HTML标记内显示引号,如下所示。毫不奇怪,这些标签被视为HTML

<p>”Paragraph 1”</p><p>”Paragraph 2”</p>
“第1段”

“第2段”

两者之间的区别在于,正确显示的是“mediumtext”类型,而不正确显示的是“text”类型。另外一个不能正确显示的是使用ckeditor插件

我只是使用以下方法添加ckeditor函数:

<textarea rows='4' type="text"  class="notes_c" id="notes_c" 
name="notes_c" value=""></textarea>

<script type="text/javascript" src="../ckeditor/ckeditor.js"></script>
<script>
CKEDITOR.replace('notes_c');
</script>

CKEDITOR.replace('notes_c');
非常感谢任何有助于了解这里发生的事情

对此的更新是,我已尝试使用html_entity_decode进行以下操作:

<?php 
$note = $rsCurrentEnquiry->getColumnVal("notes_c"); 
$p = html_entity_decode($note);
?>
<?php echo $p; ?>


这就解决了问题

所以,我为你做了一把小提琴,我认为你是有意的

值得注意的是,您应该使用以下方法从CKeditor获取/设置数据(当然,在动态获取/设置数据时):

notes\u c
-是CKeditor所在div的id/name/class

如果有任何其他问题,请随时提问

编辑:小提琴链接已断开,现在已修复。还添加了另一个按钮来显示getData和setData

EDIT2:对不起,我确实误解了你的问题。因此,使用javascript,我将使用AJAX从数据库接收数据(
第1段

第2段

),然后执行与本文类似的操作


请注意,通过使用PHP,如果HTML标记在要插入的文本之前被错误地关闭或格式不正确,那么PHP将附加到格式错误的HTML中,并且可以将您的字符串解释为一个字符串,而忽略其中的HTML标记

这与mediumtext vs text无关,它们只是不同最大长度的文本数据类型。更可能的是,这与数据库内容输出到页面的确切方式有关!另外,它可能与您如何使用ckeditor有关,您是否使用setData()方法?谢谢@04FS的回复。我所做的就是查询数据库并如下显示:
感谢@H.Figueiredo的回复。我所做的就是使用插件的基本安装来使用它的功能。我已经查看了文档,我不确定如何使用setData()方法来帮助解决这个问题。如果您发布更多代码(特别是javascript),这会很有帮助。setData()是一个接收字符串并用字符串填充CKeditor的方法(它尊重html标记,因此它们应该有效)没有问题!如果答案符合您的需要,请将其标记为正确,我将不胜感激。您使用一个按钮,该按钮通过单击将notes的一个实例放入
中来调用函数。我不知道我怎么能适应这个。我有文本区和ckeditor提交到数据库。然后我查询数据库并将数据显示在一个表中
在哪里或如何将该函数应用于此?哦!是否要将检索到的文本放在表中?嗯,那么每一段都是一列?或者只是每个单元格都有来自ckeditor的值?我认为它在表中的事实可能会产生误导。它只是出于样式的目的,与使用来自同一查询的不同数据绑定的其他表一样。如果你看到我上面的样品。您将看到显示notes\u c绑定的表是一行,其中包含一列。因此,显示数据的
标记也可能是
,我认为问题也会是一样的。希望这有意义。是的,有意义,检查edit2!你的意思是让我觉得你的问题是HTML格式不正确,比如一个未关闭的标签,诸如此类的东西。
CKEDITOR.instances.notes_c.getData();
CKEDITOR.instances.notes_c.setData(data_string);