📜  正则表达式删除 html 标签 - Javascript (1)

📅  最后修改于: 2023-12-03 15:26:51.934000             🧑  作者: Mango

正则表达式删除 HTML 标签 - JavaScript

在 Web 开发中,常常需要从 HTML 代码中提取纯文本。而 HTML 代码中往往包含了大量的标签,如果直接从代码中获取文本,会带有很多的 HTML 标签。为了去除这些标签,我们可以使用正则表达式来匹配和删除这些标签。

以下是使用 JavaScript 正则表达式删除 HTML 标签的方法:

方法一:使用 replace() 函数

可以使用 JavaScript 中的 replace() 函数来进行匹配和替换。以下是代码片段:

function removeTags(str) {
  return str.replace(/<\/?[^>]+>/gi, '');
}

var htmlString = '<p>Hello, <em>world</em>!</p>';
var plainText = removeTags(htmlString);  // 'Hello, world!'

上述代码中,removeTags() 函数中使用了一个正则表达式 /<\/?[^>]+>/gi。这个正则表达式会匹配任何形式的 HTML 标签,并删除它们。具体来说,这个正则表达式中:

  • /:表示正则表达式的开始;
  • <\/?:表示匹配一个开始标签 < 或结束标签 </
  • [^>]+:表示匹配除 > 外的任意字符,重复一次或多次;
  • >:表示匹配结束标签的 > 符号;
  • /:表示正则表达式的结束;
  • g:表示使用全局匹配;
  • i:表示大小写不敏感。

可以看到,这个正则表达式的含义是匹配任何形式的 HTML 标签,并将其删除。在代码中,我们将这个正则表达式传入 replace() 函数中,用空字符串替换掉匹配到的标签,从而达到删除 HTML 标签的目的。

方法二:使用 jQuery

如果项目中使用了 jQuery,也可以使用 jQuery 提供的方法来删除 HTML 标签。以下是代码片段:

var htmlString = '<p>Hello, <em>world</em>!</p>';
var plainText = $(htmlString).text();  // 'Hello, world!'

这个代码片段中,我们首先将 HTML 代码转换成 jQuery 对象,然后使用 text() 方法获取其中的纯文本。由于 text() 方法会自动过滤掉 HTML 标签,因此可以非常方便地实现删除 HTML 标签的功能。

以上就是使用 JavaScript 正则表达式删除 HTML 标签的方法。通过使用正则表达式,我们可以非常方便地从 HTML 代码中提取纯文本,达到更好的用户体验效果。