有没有一种简单的方法可以在JavaScript中获取一个html字符串并去掉html?


当前回答

在尝试了所有提到的答案后,如果不是所有答案都有边缘案例,也不能完全支持我的需求。

我开始探索php是如何做到这一点的,并在这里遇到了复制strip_tags方法的php.js库:http://phpjs.org/functions/strip_tags/

其他回答

如果您不想为此创建DOM(可能您不在浏览器上下文中),可以使用striptags npm包。

import striptags from 'striptags'; //ES6 <-- pick one
const striptags = require('striptags'); //ES5 <-- pick one

striptags('<p>An HTML string</p>');
function strip_html_tags(str)
{
   if ((str===null) || (str===''))
       return false;
  else
   str = str.toString();
  return str.replace(/<[^>]*>/g, '');
}

我只需要去掉<a>标签,并用链接的文本替换它们。

这似乎很有效。

htmlContent= htmlContent.replace(/<a.*href="(.*?)">/g, '');
htmlContent= htmlContent.replace(/<\/a>/g, '');
myString.replace(/<[^>]*>?/gm, '');

使用Jquery:

function stripTags() {
    return $('<p></p>').html(textToEscape).text()
}