删除javascript随文本返回的标签

时间:2010-02-01 05:46:39

标签: javascript html

这是我的功能

    function getInfo(Description) {


        return Description;    


}

此处说明已

<p>Info Summary:<span>2.26PM</span> InfoADDED</p>

现在,我想在返回'描述'之前消除 html标签 请。帮助

4 个答案:

答案 0 :(得分:2)

您可以使用虚拟 DOM元素,将描述设置为innerHTML,然后获取其textContent,这将取出所有标记,并且它将处理所有HTML实体,如&nbsp;

function getInfo(description) {
  var tmp = document.createElement('div');
  tmp.innerHTML = description;

  return tmp.textContent || tmp.innerText;
}

getInfo('<p>Info Summary:<span>2.26PM</span> InfoADDED</p>&nbsp;');
// returns "Info Summary:2.26PM InfoADDED "

查看示例here

答案 1 :(得分:0)

尝试使用正则表达式去除标记。

function getInfo(Description) {
  return Description.replace(/(<([^>]+)>)/ig,"");
}

答案 2 :(得分:0)

这样做的一个万无一失的方法是迭代遍历每个节点并提取文本节点内的字符串并连接它们。

如果您可以选择使用jquery。 jquery中的text函数为您执行此操作。

答案 3 :(得分:0)

这对我有用

return Description.replace(/&nbsp;/gi, " ").replace(/(<([^>]+)>)/ig, "");

以上CMS ex也不错 但这对我来说最合适