关于对UEditor富文本框所获取的数据做“筛选”处理
2017-05-17 22:24
337 查看
之前写东西的时候碰到一个问题,大致是从后台的富文本框获取新闻的内容展示出来,具体分为简介页和详情页,但是简介页不能出现图片。那我们获取的数据是一样的,如何在简介页将图片筛掉呢?我开始想了一种方法,就是在简介页获取数据的时候,直接把
举例子之前,我们来看看2个字符串方法
1 :str.indexOf(searchStr,searchStart)
第一个参数是所要寻找的字符串的值,第二个是开始寻找的位置 ,如果没有寻找到对应的字符串,则返回-1
2 str.substring(start,stop)
前后两个参数的意义是开始和停止寻找的位置
这是注释掉测试代码的结果
这是有测试代码的结果
<img>标签给删除掉,然而仔细想了下后觉得并不好,因为这样意味着要删除标签所有的内容,然而我们并不知道这个标签具体有多长,无法用分割字符串来解决。后来想到了
display:none我们只要在用js的字符串方法识别到
'<img'这样的字符串,然后在其后面添加
display:none这样就可以把所有的img标签都筛掉了。我们来举个例子:
举例子之前,我们来看看2个字符串方法
1 :str.indexOf(searchStr,searchStart)
第一个参数是所要寻找的字符串的值,第二个是开始寻找的位置 ,如果没有寻找到对应的字符串,则返回-1
2 str.substring(start,stop)
前后两个参数的意义是开始和停止寻找的位置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div class="box"> </div> <script src='https://cdn.bootcss.com/jquery/3.2.1/jquery.js'></script> <script> //str为整段字符串,subStr为要寻找的字符串 function searchSubStr(str,subStr){ //第二个参数为0,则从0位置开始寻找,pos的值为找到第一个str的位置 var pos = str.indexOf(subStr); //因为如果找不到,str.indexOf()这个方法就会返回-1,所以我们有while循环来限定 while(pos>-1){ //把每个str的位置存到数组里 positions.push(pos); pos = str.indexOf(subStr,pos+1); } console.log(pos) // 返回存有str位置的数组 return positions } function insert_flg(str,flg,sn){ var newstr=""; // 把一整段字符串分为两断 var tmp=str.substring(0, sn); var tmp1=str.substring(sn); //在其中间插入 “style="display:none” newstr+=tmp+flg+tmp1; return newstr; } var str = "<div>今天早上去买菜"+ "<img src='123.png'>"+ "</div>"; //测试代码 var positions = new Array(); var posi=searchSubStr(str,"<img") var flg=' style="display:none" '; console.log(posi) for(var i=0;i<posi.length;i++){ console.log(posi.length) //因为每次插入flg,整段字符串都会变长,而且“<img”的位置也会变化,sn的值也要随之变化。 str=insert_flg(str,flg,posi[i]+5+(i*20)) } //测试代码 $(".box").append(str) console.log(str) </script> </body> </html>
这是注释掉测试代码的结果
这是有测试代码的结果
相关文章推荐
- 关于在获取数据后对数据用forEach进行处理的认知
- 关于几个js获取当前时间和处理返回数据改变时间格式的函数
- 关于devexpress 的gridcontrol 获取筛选后的数据
- 关于获取表单数据
- [VB.NET]关于数据筛选的问题
- 处理Clob数据(转)关于oracle中大对象处理的一些方法和实例
- Spring中关于保存数据时重名的处理异常
- xmlhttp组件获取远程文件并筛选出目标数据
- 1 关于数据仓库维度数据处理的方法探究系列——维的概述
- 关于showModalDialog()弹出窗口.更改了页面的数据,再次点击页面却没有刷新-cache 处理
- 关于MSSQL Server中DATETIME类型数据的处理[摘]
- 2 关于数据仓库维度数据处理的方法探究系列——无变化维度处理
- 关于ASP.NET下临时文件和数据的处理
- KDNuggets关于数据挖掘中处理过的最大数据量的调查(2009)
- 关于EXCEL重复数据筛选
- 今天需要获取一个网站的web服务反馈回来的数据,找到份不错的帖子关于WebClient类的使用,记录下来·
- 关于datagrid的表中的数据获取
- 关于XMLHTTP无刷新数据获取和发送(转相关内容)
- 关于使用jspSmartUpload控件无法获取表单数据
- 1 关于数据仓库维度数据处理的方法探究系列——维的概述