求JS正则高手,把一个字符串替换成空串,50分
.aspx网页只要一usingAjaxPro;并Utility.RegisterTypeForAjax(typeof())后,百度的编辑器源代码就会多了这个<pexten...
.aspx网页只要一using AjaxPro; 并Utility.RegisterTypeForAjax(typeof())后,百度的编辑器源代码就会多了这个
<p extend="function(o) {
return Object.extend.apply(this, [this, o]);
}">
aaa
</p>
怎么把p标签里的那个
extend="function(o) {
return Object.extend.apply(this, [this, o]);
}"
替换成""
凡是html标签都会被添加上那些东西,无奈找不到原因,只能用JS在获取数据的时候把他们替换成空字符, 展开
<p extend="function(o) {
return Object.extend.apply(this, [this, o]);
}">
aaa
</p>
怎么把p标签里的那个
extend="function(o) {
return Object.extend.apply(this, [this, o]);
}"
替换成""
凡是html标签都会被添加上那些东西,无奈找不到原因,只能用JS在获取数据的时候把他们替换成空字符, 展开
5个回答
展开全部
正则:
str.replace(/(<[a-z]+.*?)extend=\"function\(o\)\s*\{[\s\S]+?\}\"(.*>)/g, "$1$2");
代码经过测试,下面是测试代码:
<!doctype html
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<textarea id="fds" style="width:600px; height:500px">
<p extend="function(o) {
return Object.extend.apply(this, [this, o]);
}">
aaa
</p>
<span id="yes" extend="function(o) {
return Object.extend.apply(this, [this, o]);
}" class="fds">
aaa
</span>
<p style="fdsa" extend="function(o) {
return Object.extend.apply(this, [this, o]);
}" style="fdsa">
aaa
</p>
<br extend="function(o) {
return Object.extend.apply(this, [this, o]);
}"/>
</textarea>
<input type="button" value="替换!!!" onClick="fdsa()" />
<script type="text/javascript">
function fdsa(){
var str = document.getElementById("fds").innerText;
str = str.replace(/(<[a-z]+.*?)extend=\"function\(o\)\s*\{[\s\S]+?\}\"(.*>)/g, "$1$2");
alert(str);
}
</script>
</body>
</html>
str.replace(/(<[a-z]+.*?)extend=\"function\(o\)\s*\{[\s\S]+?\}\"(.*>)/g, "$1$2");
代码经过测试,下面是测试代码:
<!doctype html
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<textarea id="fds" style="width:600px; height:500px">
<p extend="function(o) {
return Object.extend.apply(this, [this, o]);
}">
aaa
</p>
<span id="yes" extend="function(o) {
return Object.extend.apply(this, [this, o]);
}" class="fds">
aaa
</span>
<p style="fdsa" extend="function(o) {
return Object.extend.apply(this, [this, o]);
}" style="fdsa">
aaa
</p>
<br extend="function(o) {
return Object.extend.apply(this, [this, o]);
}"/>
</textarea>
<input type="button" value="替换!!!" onClick="fdsa()" />
<script type="text/javascript">
function fdsa(){
var str = document.getElementById("fds").innerText;
str = str.replace(/(<[a-z]+.*?)extend=\"function\(o\)\s*\{[\s\S]+?\}\"(.*>)/g, "$1$2");
alert(str);
}
</script>
</body>
</html>
展开全部
var str = "<p extend=\"function(o) {return Object.extend.apply(this, [this, o]);}\"> aaa</p>";
alert(str.replace(/<p.*?>/g,"<p>"));
.*?中的?号很重要,楼上的没有加这个会把 aaa</p>也给吃掉了。
alert(str.replace(/<p.*?>/g,"<p>"));
.*?中的?号很重要,楼上的没有加这个会把 aaa</p>也给吃掉了。
追问
是所有HTML 标签都会那样,比如
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s=s.replace(/\sextend=\"[\r\n]{0,}.*?[\r\n]{0,}.*?[\r\n]{0,}\"/ig,'');
亲测
亲测
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-16 · 知道合伙人互联网行家
关注
展开全部
var delyouStr=function(str){
return str.replace(/extend=[^>]*/ig,'');
}
使用方法:
把返回在使用delyouStr(ajax返回的数据)进行处理就可以了
return str.replace(/extend=[^>]*/ig,'');
}
使用方法:
把返回在使用delyouStr(ajax返回的数据)进行处理就可以了
追问
这样的话的确可行,不过如果extend 之后还有其他属性也会被替换掉 比如style="color:red" 也会替换掉
追答
改成这样即OK:
var delyouStr=function(str){
return str.replace(/extend=[^\}]*\}/ig,'');
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'/<p\s(.*)>/Us'
追问
这样会把 里面的style样式也替换掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询