js正则表达式来匹配并去除HTML标签
时间: 2024-11-14 13:23:58 浏览: 24
使用正则表达式去除所有html标签只保留文字
5星 · 资源好评率100%
在JavaScript中,你可以使用正则表达式配合`replace()`函数来匹配并移除HTML标签。以下是一个基本的例子,它会移除所有HTML标签:
```javascript
function stripHtmlTags(html) {
var div = document.createElement('div');
div.innerHTML = html;
return div.textContent || div.innerText;
}
var cleanedText = stripHtmlTags('<p>Hello, <strong>world!</strong></p>');
console.log(cleanedText); // 输出 "Hello, world!"
```
在这个例子中,我们创建了一个新的`<div>`元素,并将HTML字符串赋值给它的`innerHTML`属性。由于浏览器解析HTML时会将其内容添加到这个临时元素中,我们可以直接获取`textContent`或`innerText`属性,这两个属性会返回纯文本,而不会包含HTML标签。
如果你想要使用正则表达式来完成这个任务,可以这样:
```javascript
var removeHtmlRegEx = /<[^>]*>/g; // 匹配HTML标签
var cleanedText = html.replace(removeHtmlRegEx, '');
```
但是请注意,这种方法不够精确,因为它会误删一些合法的HTML实体字符如`&`, `<`, 和 `>`等。所以推荐还是使用上述方法,特别是处理复杂HTML结构时。
阅读全文