修剪HTML标记和字符实体Javascript正则表达式

时间:2014-09-17 09:14:42

标签: javascript html regex

我有一个正确修正html标签的正则表达式:

/<\/?[^>]+(>|$)/g

但它不会削减HTML字符的数量。 任何人都可以建议一种方法来修改这个正则表达式来完成我的这个任务吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我会首先解码实体,然后用regexp删除它们:

function decodeHtml(html) {
    var txt = document.createElement("textarea");
    txt.innerHTML = html;
    return txt.value;
}

decodeHtml("&lt;p&gt;Hi&lt;/p&gt;");

"<p>Hi</p>"

然后使用更简单的正则表达式完成工作:/[<]\/?[^>]+[>]/g

<p>Hi</p> =&gt;的作业吗? test

JS中的示例:

> var testString = "<p>Hi</p>"
> testString.replace(/[<]\/?[^>]+[>]/g,"");

< "Hi"

同时检查: