导航:首页 > 编程语言 > js正则html标签内容

js正则html标签内容

发布时间:2023-04-01 14:06:20

㈠ 如何使用js正则 过滤某一个html标签下所有的标签跟样式呢只保留出纯文本

js过滤HTML标签的方法。分享给大家供大家参考,具体如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>无标题文档</title>
<script>
window.onload=function()
{
varoTxt1=document.getElementById('txt1');
varoTxt2=document.getElementById('txt2');
varoBtn=document.getElementById('btn');
oBtn.onclick=function()
{
varreg=/<[^<>]+>/g;
oTxt2.value=oTxt1.value.replace(reg,'');
};
};
</script>
</head>
<body>
<textareaid="txt1"cols="40"rows="10"></textarea><br/>
<inputtype="button"value="过滤"id="btn"/><br/>
<textareaid="txt2"cols="40"rows="10"></textarea>
</body>
</html>

㈡ 求一个js正则表达式:替换html内容中除了<img>标签外的特定字符为另外一个字符.

<!DOCTYPEHTML>
<html>

<head>
<title>PageTitle</title>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
<script>
onload=function(){
varhtml=document.body.innerHTML;
varreg=/(<img(?:(?!id|>).)*)(id[="'s]+)?([^"'s]*)(["']?)([^>]*>)/gi;
varidx=0;
html=html.replace(reg,function($0,$1,$2,$3,$4,$5){
idx++;
if(typeof$2=="undefined"){
return$1+"id='"+idx+"'"+$3+$4+$5;
}
return$1+$2+idx+$4+$5;
});
document.body.innerHTML=html;
}
</script>
</head>

<body>
<imgsrc="acb.jpg"id="imgx"/>
<ul>
<li><imgsrc="sdf.png"/></li>
</ul>

</body>

</html>

㈢ JS 如何用正则替换指定HTML标签

vars="<span>a</span>....<span>z</span>";
s=s.replace(/<span>(.*?)</span>/g,"<inputtype='text'value='$1'/>")

㈣ JS正则过滤指定的HTML标签

java"><div>.*</div>//匹配外第一层
//如dsd<span>sd<div><a><div>ghghghgh</div></a></div></span>
//匹配<div><a><div>ghghghgh</div></a></div>
<div>((?!<div>)(?!</div>).)*</div>//匹配最内层
//如dsd<span>sd<div><a><div>ghghghgh</div></a></div></span>
//匹配<div>ghghghgh</div>

㈤ js 正则表达式去除指定的HTML标签

可以这么写:

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""

<htmlxmlns="

<head>
<title>匹配正则表达式</title>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>

<scripttype="text/javascript">
functiont1(){
varcont=document.getElementById('cont');
varcv=cont.value;

varreg=/<a[s]+[^>]+>([^<>]+)</a>/gi;//正则表达式

alert(cv.replace(reg,''));
}
</script>

<styletype="text/css">
textarea{
width:400px;
height:200px;
}
</style>
</head>
<body>
<p>
<textareaid="cont"></textarea>
</p>
<p><inputtype="button"value="把链接换成空链接"onclick="t1();"/></p>
</body>
</html>

㈥ 正则表达式匹配html标签,获取标签内容

假设我们要获取下面html标签中的内容:

第一段是获取 <p>慧慎</p> 标签内部的数据,第二个是获取 <p><span></span></p> 标签中的数据,其中span标签中有style属性值。

使用过正则表达式的同学肯定知道前纤敬,上面两种情况其实都是一种情况,我们要获取的是 尖括号括起来的一对标签 中间的数据,起始标签形如<x>,结束标签形如</x>,这里的x表示的html标签。

此外,我们还需要考虑起始标签中包含style的数据,另外特殊的 <br/> 标签,对实际获取数据无意义,也需要过滤掉。

通过上面的分析,我们可以如下正则表达式:

在使用正则表达式处理之前,我们先对数据进行竖枯预处理,比如style和
标签:

针对多个标签嵌套的情况进行处理,比如 <p><span style="white-space: normal;">王者荣耀</span></p> ,在经过预处理和正则匹配的后结果是 <span>王者荣耀 ,需要手工移除掉前面的起始标签,对应的方法如下:

测试方法如下:

output:

㈦ 如何用js和C#的正则表达式获取具备指定属性的任意html标签

给你个例子,你自己看看吧。

平衡组/递归匹配
如何把xx <aa <bbb> <bbb> aa> yy这样的字符串里,最长的配对的尖括号内的内容捕获出来?
这里需要用到以下的语法构造:
(?'group') 把捕获的内容命名为group,并压入堆栈(Stack)
(?'-group') 从堆栈上弹出最后压入堆栈的名为group的捕获内容,如果堆栈本来为空,则本分组的匹配失败
(?(group)yes|no) 如果堆栈上存在以名为group的捕获内容的话,继续匹配yes部分的表达式,否则继续匹配no部分
(?!) 零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败
我们需要做的是每碰到了左括号,就在压入一个"Open",每碰到一个右括号,就弹出一个,到了最后就看看堆栈是否为空--如果不为空那就证明左括号比右括号多,
那匹配就应该失败。正则表达式引擎会进行回溯(放弃最前面或最后面的一些字符),尽量使整个表达式得到匹配。
平衡组一个匹配嵌套的<div>标签:
<div[^>]*>[^<>]*(((?'open'<div[^>]*)[^<>]*)+(?'-open'</div>)[^<>]*)+)*(?(open)(?!))</div>

㈧ 正则表达式匹配HTML标签之间的内容

(?<=>)[^<>]+(?=<)

假如html标签里面有一句:

String a = "<style type="text/css"> div " +

"{ margin: 0; padding: 0; outline: 0; }</style>";

我如何把这一句取出来呢,包括标签。

用正则表达式:<style([\s\S]*)</style>

(8)js正则html标签内容扩展阅读:

正则表达式匹配HTML标签

方法一:

var str = '<p class="odd" id="odd">123</p>';

var pattern = /</?[a-zA-Z]+(s+[a-zA-Z]+=".*")*>/g;

console.log(str.match(pattern));

方法二:

var str = '<p class="odd" id="odd">123</p>';

var pattern = /<[^>]+>/g;

console.log(str.match(pattern));

方法三:

var str = '<input type="text" value=">" name="username" />';

var pattern = /<(?:[^"'>]|"[^"]*"|'[^']*')*>/g;

console.log(str.match(pattern));

说明:()表示捕获分组,()会把每个分组里的余陵匹配的值保存起来,使用$n(n是一个数字,表示第n个捕获组的冲码内容)

(?:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来

没有引用的需散毁哪求的话,采用非捕获性分组,更为简洁;

方法四:

var str = '<input type="text" value=">" name="username" />';

var pattern = /<(?:[^"'>]|(["'])[^"']*1)*>/g;

console.log(str.match(pattern));

</script>

㈨ 求js的正则表达试获取html字符串中的特定标签id里的内容

正则方法很多,如:
let str ="<p id='a'>aaa</p><p>bbb</p>"匹配id='a'下的内容
可以这样:let finall_str = /id=\'a\'>(.+?)<\//.exec(str)
得到结果:finall_str[1] -> 'aaa'
望采纳!

阅读全文

与js正则html标签内容相关的资料

热点内容
为什么淘宝app是黑色的 浏览:17
如何在cad中把图形输出为pdf文件 浏览:535
文件夹横签 浏览:988
extjs5mvc 浏览:614
win7如何安装数据库 浏览:647
informix数据库倒数卸数 浏览:983
华硕p7h55mplus升级 浏览:240
servlet调用jsp 浏览:481
文件的命名原则有哪些 浏览:352
苹果的文件管理是哪个 浏览:387
智能黑板如何给pdf文件做批注 浏览:788
哈弗智联app如何绑定二手车 浏览:728
cad文件不多可是异常增大 浏览:872
苹果手机怎样将音频文件导入剪映 浏览:432
2016秋季飞歌导航升级 浏览:151
电脑字符串怎么编程 浏览:381
暴风不能在线观看视频文件 浏览:267
三国卡可以升级吗 浏览:939
如何筛选出相同数据 浏览:311
vbox文件找不到 浏览:49

友情链接