导航:首页 > 编程语言 > 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标签内容相关的资料

热点内容
不要网看电影' 浏览:103
安卓文件夹播放 浏览:402
一部韩国电影讲的四对恋人有一对在电影院 浏览:812
微信语音消息怎么保存在哪里 浏览:462
分身qq的文件在哪里 浏览:65
禁止事件加载js 浏览:681
床边目击者台湾巴巴鱼 浏览:221
主角是个纯辅助的小说 浏览:808
韩国叔嫂大尺度电影 浏览:761
有暗电影是一个日本武士砍一个女的手脚 浏览:730
100部好看的泰国电影 浏览:168
大数据舆情分析架构 浏览:45
意大利丁巴度的电影在线观看 浏览:708
泰国版都市僵尸 浏览:437
现代豪门训诫文 浏览:191
国产匹配仪58版本 浏览:215
苹果笔记本换内存教程 浏览:658
炻维科技app密码忘了怎么办 浏览:760
韩国古代爱情动作电影 浏览:753

友情链接