我有纯文本的html textarea,MySQL中存有html代码示例。
我将textarea改为ckeditor类。一切都很好,但现在所有的html代码块都不会以富文本模式显示。
我尝试使用
和代码,但它们无效。
我也尝试过insertpre插件,但没有帮助。
有没有办法在CKEditor中显示/保存html代码?如何使用Code Sample按钮忽略块中的html标签?
我的例子。(抱歉,无权发布图片)。
Textarea字段:
Text
我使用“Insertpre”插件粘贴代码:
100
我立刻看到了正确的图片。
表单提交后我得到变量:
$description=$_POST['description'];并将其放入数据库。
在数据库中,我看到此变量的下一个值:
<table border="1">
<tr>
<td>100</td>
</tr>
</table>
html表单,显示来自base的数据:
当我打开这个表单时,我看到空代码块,所有html代码都在pre-block之外,我看到一个真正的表而不是html标签。
如果我点击“Source”按钮,我看到相同的 - 表格标签不在“pre”标签内:
100
据我所知,代码以正确的格式保存在数据库中,因此在输出或CKEditor行为的某处出现问题......
更新:找到解决方法:
经过长时间的搜索后,我在此主题中发现了类似的问题:http://ckeditor.com/forums/CKEditor-3.x/html-code-pre-tags-problem
描述的解决方法帮助了我:如果我用htmlspecialchars php函数输出它,它运行良好:
我不确定它是一种解决方法还是正确的解决方案 - 在此之后,即使没有“预”阻止,也会显示以富模式插入的所有标签。如果是 - 它应该在CKEditor FAQ中,因为这非常令人困惑。