高分急, 提取div中的内容 (js )或者后台实现都行

问题描述

<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div></br></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>我想实现的就是图片文字分开,放在数组里['dgdsgd','img1','aaaaaaaaaakkk','img2','kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a>','<ahref="http://www.baidu.com">百度2</a>']如何实现

解决方案

解决方案二:
文本有格式要求不?
解决方案三:
引用

dgdsgd<imgsrc="/a.jpg"/>

1:你例子的这段代码能不能再严谨的,或者说都用div包裹起来,不要有单独的文字代码。2:用jquery试着一步一步弄,应该不是啥大问题。
解决方案四:
现在就是格式不统一
解决方案五:
能不能这样把div<br>标签去掉把img图片替换成img1,img2其他保留
解决方案六:
var$h=$('<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>');vararr=newArray();varimgNum=1;AddToArray($h);console.info(arr);functionAddToArray(dom){$(dom).each(function(i,n){if($(n).is('img')){arr.push('img'+(imgNum++));}else{varchilds=$(n).find('>*');if(childs.length>0){for(varj=0;j<childs.length;j++){AddToArray(childs[j]);}}else{arr.push($(n).html());}}});}

这个是有问题的,如果只是替换图片的话简单点
解决方案七:
varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'img'+(i++);});console.info(h);

解决方案八:
varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'img'+(i++);}).replace(/<div[^>]*>s*</?brs*/?>s*</div>/g,'');console.info(h);

只带<br>标签的也去掉了
解决方案九:
引用7楼starfd的回复:

varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'img'+(i++);}).replace(/<div[^>]*>s*</?brs*/?>s*</div>/g,'');console.info(h);

只带<br>标签的也去掉了

div标签也要去掉
解决方案十:
varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'img'+(i++);}).replace(/</?(div|br)[^>]*>/g,'');console.info(h);

还有什么要替换的吗?
解决方案十一:
现在去去div标签,假如一个div里面有图片和文字能给他分成2个div显示吗
解决方案十二:
你上面要去div,下面又要分两个div,你到底要哪出啊
解决方案十三:
div都不去掉了
解决方案十四:
varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'<div>img'+(i++)+'</div>';}).replace(/</?br[^>]*>/g,'');console.info(h);

给img加个div还可以,给其它的加没法做到
解决方案十五:
引用13楼starfd的回复:

varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'<div>img'+(i++)+'</div>';}).replace(/</?br[^>]*>/g,'');console.info(h);

给img加个div还可以,给其它的加没法做到

Img后面的文字内容不能加div标签吗
解决方案:
varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>([sS]*?</div>)/g,function(){return'<div>img'+(i++)+'</div><div>'+arguments[1]+'</div>';}).replace(/</?br[^>]*>/g,'');console.info(h);

要不你就接受这样子吧,只要有image,都会给后面的内容添加一个div,因为div套div没样式的话本身没多大影响,但image前面的好像没办法,js的正则限制比较多
解决方案:
引用13楼starfd的回复:

varh='<divcontenteditable="true"class="experTxt">dgdsgd<imgsrc="/a.jpg"/><div>aaaaaaaaaakkk</div><div><br/></div><div><imgsrc="/b.jpg"/>kkkkkkkkkkkk<ahref="http://www.baidu.com">百度</a></div><div><ahref="http://www.baidu.com">百度2</a></div></div>';vari=1;h=h.replace(/<imgs+[^>]*>/g,function(){return'<div>img'+(i++)+'</div>';}).replace(/</?br[^>]*>/g,'');console.info(h);

给img加个div还可以,给其它的加没法做到

还有一种情况没考虑,如果一个div里面有2个或者多个图片时,只能套一个div,现在这样是套了多个的。

时间: 2024-12-24 09:18:15

高分急, 提取div中的内容 (js )或者后台实现都行的相关文章

html中设置让div中的内容超出后自动显示滚动条

 在html页面中,我们有时需要让div中的内容超出后自动显示滚动条,我们可以这样设置: 代码如下: <div class="classlist"> <div class="autoScroll"> <asp:RadioButtonList ID="rblClasses" runat="server" DataTextField="className" DataValueFie

c# 2 0-如何将网页中指定DIV中的内容插入到WORD中指定标签位置进行替换?

问题描述 如何将网页中指定DIV中的内容插入到WORD中指定标签位置进行替换? 我用以下代码实现了文本替换指定标签.请问如何实现将网页中指定DIV中的内容对WORD中指定标签进行替换?请给出源码,请尽可能通过这个类进行操作.. protected void ReplaceWordDocAndSave(Microsoft.Office.Interop.Word.Document docObject, object savePath) { object format = Microsoft.Offi

div中的内容溢出后如何以省略号结尾

方法一 样式: html代码 <div id="intro_info" class="right_right_bottom_middle_bottom_top"> </div> <div class="right_right_bottom_middle_bottom_bottom"> <a href="__URL__/com_intro_content?menu_id=10" targ

jquery ajax双击div可直接修改div中的内容_jquery

最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是网上找点资料自己动手写了一个jquery双击实现直接修改排序值的效果: html代码: <div title="[双击可直接修改]" class="changeSort" id="{$id}">{$sort}</div> JS代码: <script type="text/javascript"

js判断鼠标位置是否在某个div中的方法_javascript技巧

本文实例讲述了js判断鼠标位置是否在某个div中的方法.分享给大家供大家参考,具体如下: div的onmouseout事件让div消失时,会出现这样的情况,就是当鼠标移至div中的其它内容时,此时也判定为离开div,会触发 onmouseout事件,这样div中的内容就不能操作了.解决的办法是当触发onmouseout事件时,先判断鼠标是否在div内,如果在,说明鼠 标并没有离开div,就不删除div,否则,删除之.OK,现在问题解决了. 就是找到该div左上角和右下角坐标,判断鼠标的坐标是否在

急救,如何实现用javascript打印出&amp;amp;lt;div&amp;amp;gt;中的内容?谢谢

问题描述 急救,如何实现用javascript打印出<div>中的内容?如:<html><head></head><body> <div id="print">要打印的内容</div><body></html>请问如何实现 用js 打印出 div id="print" 中的内容?谢谢 解决方案 引用 以前用户在打印网页内容时,一般直接选择IE的打印功能就行.有

tabpanel-怎么把extjs 的TabPanel加入到自定义的div中

问题描述 怎么把extjs 的TabPanel加入到自定义的div中 我自己在主页面jsp上布局了格式,想把他的TabPanel加到自己定义的div中.给出详细代码!谢谢 Ext.onReady(function(){ var centerRegion = new Ext.TabPanel({ region : 'center' margins : '3 3 3 0'//距离top.right.bottom.left边界的距离单位为像素 activeTab : 0 defaults : { au

在页面上显示Excel文件中的内容

excel|显示|页面 第一步,创建Excel文件.Excel文件的创建很容易,关键的一步是选择你要在页面中显示的内容,选择菜单"插入"->"名称"->"定义",输入你对当前选择区域的命名.在这里,我命名为myRange1,这在后面将要用到.Excel文件编辑好之后,将它保存到硬盘上.我这里保存到了Web服务器的根目录中,当然你也可以保存任意位置,但你要注意在代码中做一定的修改. 第二步,编码.新建一个ASP.NET应用程序,在默认的

JS在可编辑的div中的光标位置插入内容的方法

 首先要让DIV启用编辑模式 代码如下: <div contenteditable=true id="divTest"></div> 通过设定contenteditable=true开启div的编辑模式.这样DIV就可以跟文本框一样输入内容了. 不扯话题了.下面说怎么获取或设置光标位置.   2个步骤: ① 获取DIV中的光标位置 ② 改变光标位置 代码如下: var cursor = 0; // 光标位置  document.onselectionchange