热门标签 | 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对象的内部的值

最终实现效果:

 



推荐阅读
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • 本文介绍了三种方法来关闭win7电脑开机硬盘自检,分别是使用命令提示符、注册表编辑器和bios设置界面。通过取消硬盘自检可以加快电脑启动速度。详细步骤和操作说明在正文中有详细介绍。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • wordpress的内页悬浮选项卡功能预览及使用方法介绍
    本文介绍了wordpress的内页悬浮选项卡功能,包括功能预览和使用方法。用户可以自定义切换按钮,设置锚点信息区域,灵活多变且无需代码编辑。文章可以统一设置按钮,也可以独立设置单篇文章的按钮,滚动模式下按钮以滑动形式展示,具有条理性和锚点属性,有利于SEO。滚动效果增加了网站的互动性,让用户参与互动,同时完全兼容手机,使信息展示更清晰。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
  • 本文介绍了常用的编辑器快捷键,包括快速转换编辑器、浏览选项卡、提取本地变量和方法、编辑器窗口最大化等功能。通过使用这些快捷键,可以提高编辑器的使用效率,减少复杂度,并提升代码的可测试性。 ... [详细]
  • 在tp5项目中引入ueditor编辑器并实例化后插入图片出现目录创建失败问题在查看网络上各种解决方案之后总结如下:根据官网提示主要是因为图片保存的路径无权限导致,官方文档链接:ht ... [详细]
  • 一、修改注册表去掉桌面图标小箭头1按下win+R组合快捷键,打开windows10系统的“运行”窗口,输入“regedit”,打开注册表编辑器,找到HKEY_CLASSES_ROOT\lnkfi ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • Navicat premium乱码解决
    今天打开NavicatPremium,突然中文都变成乱码了,如下所示。我的版本是12.0.24(64-bit)Premium ... [详细]
  • 编码_QML 编码约定
    本文由编程笔记#小编为大家整理,主要介绍了QML编码约定相关的知识,希望对你有一定的参考价值。 ... [详细]
  • VG浏览器是免费的吗 VG浏览器常见问题汇总
    VG浏览器是免费的吗VG浏览器常见问题汇总。现在,不少人都在使用VG浏览器。但是,有些用户在使用VG浏览器过程中,也是碰到不少问题。今天,小编给大家带来VG浏览器常见问题大汇总。想 ... [详细]
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社区 版权所有