我想删除<p align="left" dir="ltr"> </p> <p> </p>
标签。
str.replace(/\s| /g, '')
我需要格式化String,因为它将成为电子邮件模板的一部分,它不是完整的HTML
答案 0 :(得分:1)
正则表达式is the wrong tool for this。
如果您在浏览器中进行操作,则很容易:
var div = document.createElement('div');
div.innerHTML = str;
Array.prototype.slice.call(div.querySelectorAll('p'), function(p) {
var html = p.innerHTML.trim();
if (!html || html.toLowerCase() == " ") {
p.parentNode.removeChild(p);
}
});
str = div.innerHTML; // Yes, the case of tag names may have changed, etc., but nothing substantive
如果您在其他环境中执行此操作,则可以使用适用于该环境的HTML解析器。 NodeJS有几个,包括cheerio。 JVM(如果你在JVM上使用JavaScript)拥有出色的JSoup。 .Net(如果你使用的是“JScript”)有一个JSoup的端口。等