热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

关于富文本编辑器回显问题的解决方法

问题描述与背景准备写一个自己的博客项目,其中会使用富文本编辑器在后台管理系统中录入文章,最初使用的CKEditor作为富文本编辑器。在新增文章的时候可以正确的使用富文本编辑器保存到

问题描述与背景

准备写一个自己的博客项目,其中会使用富文本编辑器在后台管理系统中录入文章,最初使用的CKEditor作为富文本编辑器。在新增文章的时候可以正确的使用富文本编辑器保存到数据库中,但是在使用富文本编辑器修改原来的文章的时候,发现很多标签不能正确的显示


问题分析



  1. 我怀疑是我使用的富文本编辑器有问题,于是换成了simditor富文本编辑器,但是还是出现了同样的问题。排除是编辑器的问题。

  2. 找到oschina中写博客的网页源码,似乎oschina的富文本编辑器就是使用的CKEditor,看了源码发现和自己后台写得代码有点不同,先看看代码。第一个红色框中是我们自己数据库中存的文章html代码,但是第二个红色框中还有一段文本,只不过部分被编码过得,我肯定这段内容肯定是富文本编辑器弄出来的,那么为什么会有2份文章呢?我想应该是富文本编辑器要渲染我们的文章内容,需要对文章做些处理,所以复制了一份,在copy的这份上进行渲染的。



  1. 找到问题原因了,是因为富文本渲染我们的文本出了问题。然后我们继续分析一下原因。在数据库中保存的文章内容是这样子的:

<p style="margin-top: 0px; margin-bottom: 0px; padding: 30px 0px 30px 5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); line-height: 24px; color: rgb(51, 51, 51); text-indent: 40px; font-family: "宋体 Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif; font-size: 14px; white-space: normal;">爷每天5点起床,去鸡行里选鸡,选的是大小均匀的老母鸡,送到家里从杀鸡放血开始,鸡血要留着,倒在有盐水的碗里,烧好开水拔了毛连鸡嘴巴鼻子里的粘液都要挤出来。鸡洗干净六只鸡放到一个锅里炖,要炖一个上午,要注意火候鸡皮不能裂。p><p><img src="http://www.liupengfei.com/res/img/wz_img1.jpg" style="display: inline-block; vertical-align: middle; border: none; float: none; width: 1000px; font-family: "宋体 Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif; font-size: 14px; white-space: normal;"/><span style="font-family: "宋体 Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif; font-size: 14px;">span>p><p style="margin-top: 0px; margin-bottom: 0px; padding: 30px 0px 30px 5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); line-height: 24px; color: rgb(51, 51, 51); text-indent: 40px; font-family: "宋体 Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif; font-size: 14px; white-space: normal;">炖好的鸡挂在架子上晾干,再一片片剁开,每只鸡剁的块数都是一样,然后把鸡肉放到提前调好的水中腌两个小时,水里面的调料也是爷爷自己去市场买来磨成粉的。锅里还有剩的鸡汤,用鸡汤煮好面叶上面漂着一层绿油油的葱花。p><p style="margin-top: 0px; margin-bottom: 0px; padding: 30px 0px 30px 5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); line-height: 24px; color: rgb(51, 51, 51); text-indent: 40px; font-family: "宋体 Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif; font-size: 14px; white-space: normal;">以前爷爷都是用扁担一头面叶一头板鸡挑到街上摊位上卖,现在爷爷年纪大了,只能用三轮车推着。摊位摆好奶奶就会慢悠悠的拎着一个保温桶和一个小红桶过来,保温桶里装的是卤鸡蛋,小红桶留着装别人吃剩的骨头喂狗。他们只有晚上出摊,收完摊已经要9点钟了,回去还要洗一天用的抹布和衣服,爷爷奶奶都非常爱干净,摊上的所有抹布纱布都是白色的每天洗的一个油点都看不到。9年前奶奶去世了,爷爷奶奶青梅竹马感情非常好,奶奶去世的时候爷爷甚至还要求过把奶奶埋在院子里。现在爷爷有时候会偷偷跟我说,你奶奶昨天回来看我了,她还给我掖被子,我知道是她,我跟她说你别挂念我,我好的很 跑题了。p><p style="margin-top: 0px; margin-bottom: 0px; padding: 30px 0px 30px 5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); line-height: 24px; color: rgb(51, 51, 51); text-indent: 40px; font-family: "宋体 Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif; font-size: 14px; white-space: normal;">昨天我给爷爷打电话,他跟我说他卖板鸡有人给他拍照,他问别人你拍我干嘛,那个人回答他说我给你照片放到网上,你生意会更好,我爷爷说你不用放网上我都不够卖的。p><p><br/>p>

会将<转换为<来表示,但是修改的时候从数据库中读取这段文本的时候,富文本编辑器会将<这些特殊字符给转换为<,导致浏览器不能正确的显示。

解决

方法一:

 

1:前台显示数据的网页,引入富文本编辑器(路径根据自己的项目路径为准)

 

<script type="text/Javascript" charset="utf-8" src="/ueditor/ueditor.config.js">script>
<script type="text/Javascript" charset="utf-8" src="/ueditor/ueditor.all.min.js">script>
<script type="text/Javascript" charset="utf-8" src="/ueditor/ueditor.parse.js">script>
<script type="text/Javascript" charset="utf-8" src="/ueditor/lang/zh-cn/zh-cn.js">script>

2:在接收后台数据的地方,绑定富文本编辑器

 

<div class="article_all">
<div class="article_list">
<a class="article_item" href="Javascript:viod(0);">
<textarea id="editor" name="content" >{{$res->content}}textarea>

a>
div>
div>

3:利用js实例化富文本编辑器

方法二:(亲测有效)

1:找到富文本绑定的dom对象

2:利用隐藏域传值修改此DOM对象的内部的值

最终实现效果:

 



推荐阅读
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • 本文详细介绍了如何使用JavaScript实现面部交换功能,包括基本原理和具体实现步骤。 ... [详细]
  • XAMPP 遇到 404 错误:无法找到请求的对象
    在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • Vim 编辑器功能强大,但其默认的配色方案往往不尽如人意,尤其是注释颜色为蓝色时,对眼睛极为不友好。为了提升编程体验,自定义配色方案显得尤为重要。通过合理调整颜色,不仅可以减轻视觉疲劳,还能显著提高编码效率和兴趣。 ... [详细]
  • 如何使用AU进行专业音频剪辑与处理?首先,创建多轨会话:在菜单中依次选择【文件】→【新建】→【多轨会话】。接下来,编辑项目的基本信息。对于初学者来说,初始设置可能会显得复杂且难以理解,但这是确保项目顺利进行的重要步骤。熟悉这些设置后,你将能够更高效地进行音频剪辑与处理。 ... [详细]
  • 本文详细介绍了VIM的基础操作和常用快捷键,VIM作为Unix及类Unix系统中的一款经典文本编辑器,源自VI的改进与发展。其简洁的界面和强大的扩展性使其在开发者中备受青睐,同时也催生了多个适用于Windows平台的版本。通过图文并茂的方式,帮助读者快速掌握VIM的核心功能与使用技巧。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • Linux基础知识:Vi与Vim编辑器详解
    Linux基础知识:Vi与Vim编辑器详解 ... [详细]
  • 触发器的稳态数量分析及其应用价值
    本文对数据库中的SQL触发器进行了稳态数量的详细分析,探讨了其在实际应用中的重要价值。通过研究触发器在不同场景下的表现,揭示了其在数据完整性和业务逻辑自动化方面的关键作用。此外,还介绍了如何在Ubuntu 22.04环境下配置和使用触发器,以及在Tomcat和SQLite等平台上的具体实现方法。 ... [详细]
  • 如何在您的计算机上配置Python和PyCharm开发环境
    本文详细介绍了在Windows 10系统上配置Python和PyCharm开发环境的步骤。内容包括Python的安装与卸载、PyCharm的安装与卸载,以及如何在Windows 10中通过双击安装文件“python-3.7.2-amd64.exe”来完成Python的安装。此外,还提供了关于环境变量配置和基本设置的实用建议,帮助用户快速搭建高效的开发环境。 ... [详细]
  • Vi编辑器的工作模式有哪些?如何在不同模式间切换?
    Vi编辑器是Linux系统中常用的文本编辑工具,具备三种主要工作模式:命令模式、插入模式和底行模式。用户可以通过特定的按键组合在这些模式之间进行切换,以实现不同的编辑功能。例如,在命令模式下,用户可以执行移动光标、删除文本等操作;而在插入模式下,则可以输入或修改文本内容。底行模式则用于执行保存文件、退出编辑器等命令。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
author-avatar
DarkBaron_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有