如何用正则表达式匹配除了img标签的所有其他标签?
匹配所有的html标签我知道: /<[^>]+>/g
关键是排除img标签
不会,求大神指教!!
比如已知:
<div>
<p>你好呀</p>
<p>nifdkslafjkdlsa</p>
<img src="图片地址1" alt="">
<p>1223323333</p>
<img src="图片地址2">
</div>
我想得到:
你好呀
nifdkslafjkdlsa
<img src="图片地址1" alt="">
1223323333
<img src="图片地址2">
我想得到的这个文字和图片的顺序也不能改变,就这样的,
请大神指教!!!
可以先对字符串做个处理,删除所有的img标签,代码如下:
<script>var html = "<div>" +
"<p>你好呀</p>" +
"<p>nifdkslafjkdlsa</p>" +
"<img src='图片地址1' alt=''>" +
"<p>1223323333</p>" +
"<img src='图片地址2'>" +
"</div>";
// 替换
var output = html.replace(/(<img.*?<\/img>)|(<img .*?\/?>)/gi, "");
console.log(output);
</script>
之后无论做什么都不用担心img标签的干扰了
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-10-05
你这个表达式本身就是错误的,无法匹配追问
/]+>这个可以匹配到所有的标签啊
追答反正我的匹配工具,包括在线匹配都无法匹配
追问不知道阁下说的啥名堂,我的问题是:“
如何用正则表达式匹配除了<img/>标签的所有其他标签
”