首先把转义替换成特殊字符。
然后在<(?:[^>]+|(["'])[^\1]*\1)+>全部kill掉。。
然后在按特殊字符把转义都替换回来
然后在<(?:[^>]+|(["'])[^\1]*\1)+>全部kill掉。。
然后在按特殊字符把转义都替换回来
解决方案 »
- confirm()弹出对话框时,点击“取消”表单仍然提交的解决方法
- Widget做烟花的效果,除了切换图片还有其他的方法么,用JS+HTML
- 有JavaScript高手吗????
- 简单的问题```
- 100分求一个js处理日期格式的函数,具体要求请进
- jQuery easyui datagrid中调用了acceptChanges后getChecked方法取值为空
- js修改模态窗口的标题栏的超难问题,如能解决(用纯JS方式)送500分
- replace怎么用来替换'和"符号
- 再散一贴
- 请教DHTML高手!
- 有关递归函数的返回值问题
- 怎么让body 里的 onload 方法在加载该页面的时候只执行一次???
不过没有处理转义(很懒的说)嘿嘿。
<script type="text/javascript">
var string = '……<img onload="javascript:if(this.width>screen.width-500)this.style.width=screen.width-500;" src=……(省略) >……';
var p = /<(?:(["'])[^\1]*\1|[^>'"]*)+>/g;
var j = string.replace(p, "wc");
alert(j);
</script>
微风吹过
感谢回复。上网查资料学习innerText和“把转义替换成特殊字符”中……
可能的话也不想浪费别人太多时间,只是innerText和“把转义替换成特殊字符”不太明白怎么用。如果有时间各位大哥稍微解释一下,或者告诉我到哪查找相关资料,多谢。
innerText貌似不兼容非IE浏览器的说。
又对比着看了下正则语法,可能俺比较迟钝,俺的理解是:
2个<>之间,如果有“或‘匹配到”或’结束;或者匹配之间非“‘〉的字符。
再次感谢muxrwc的帮助。
HTML标记里<v>
v的值只有"v1"和v2(不等于<)两种情况。
v1的值不等于"
所以就
<(v1|v2)+>
就可以了。。
但是
v2的的限定如果只是不等于<的话。。会匹配到v1所以。。
v2还要多1条限定就是 不等于 "或者'