用js去掉除img标签外的所有HTML标签,得到HTML标签中的内容
时间: 2024-05-02 10:17:30 浏览: 220
你可以使用正则表达式和字符串方法来实现这个功能。下面是一个示例代码:
```javascript
function stripHTMLTags(html) {
// 使用正则表达式匹配所有HTML标签
let strippedHTML = html.replace(/(<([^>]+)>)/gi, "");
// 返回去掉HTML标签后的内容
return strippedHTML;
}
// 示例用法
let html = "<p>Hello <strong>world</strong>!</p><img src='image.jpg'>";
let content = stripHTMLTags(html);
console.log(content); // 输出:Hello world!
```
在上面的示例代码中,`stripHTMLTags`函数接受一个HTML字符串作为输入,并使用正则表达式来匹配所有HTML标签。然后,使用字符串的 `replace` 方法将匹配到的HTML标签替换为空字符串,从而去掉所有HTML标签。最后,函数返回去掉HTML标签后的内容。
注意,这个方法只能去掉HTML标签,但不能去掉HTML实体,如 ` ` 等。
相关问题
js 正则去掉html代码中的img标签
可以使用如下的正则表达式:
```javascript
str = str.replace(/<img.*?>/g, "");
```
其中,`str`为待处理的html代码字符串,`.replace()`方法用来替换字符串中匹配正则表达式的部分,`<img.*?>`匹配所有的img标签及其内部内容。具体的regexp可以根据实际情况进行适当的调整。
前端怎么去掉字符串中所有的img标签和p标签和其内容
如果你想要去掉字符串中所有的img标签、p标签及其内容,可以使用正则表达式来实现。以下是一个示例代码:
```javascript
function removeTagsAndContent(str) {
const regex = /<(img|p)[^>]*>.*?<\/(img|p)>/g;
return str.replace(regex, '');
}
const input = '<p>This is a <img src="image.jpg"> sample <img src="image2.jpg"> string.</p>';
const output = removeTagsAndContent(input);
console.log(output);
```
在上述代码中,`removeTagsAndContent` 函数使用正则表达式 `<(img|p)[^>]*>.*?<\/(img|p)>` 来匹配img标签和p标签及其内容,并通过 `replace` 方法将其替换为空字符串。最后,调用该函数并传入包含img标签和p标签的字符串,即可得到不包含这些标签及其内容的结果。
需要注意的是,这种方法假设了标签之间没有嵌套关系,如果有嵌套关系或更复杂的HTML结构,建议使用HTML解析器来处理。
阅读全文