如何从数组中过滤掉HTML标签并替换为空?

时间:2018-02-16 12:13:30

标签: javascript jquery html ecmascript-6

我有一个数组,它在API提取的浏览器中输出JSON,所以我有一个像这样的obj:

locationArray =  dataArray.map(function(item){
                    return {
                    id: item.Id,
                    location: item.Location,
                    address: item.Address
                    };   
                 });

你可以根据标签进行过滤,并在地址栏上没有任何内容替换标签(即没有空格,只需删除):

Tom<br>chased Jerry将成为Tom chased Jerry

我正在尝试这个:

  var tags = ["<br>"];
    for(var i=0;i<locationArray.length;i++){
      if(locationArray[i].address === tags){
         locationArray[i].address = "";
      }
    }

在浏览器中,输出地址字段包含<div><br>等HTML标记,但我想删除这些标记,我该怎么做?我认为我当前的示例将删除所有字符串,而不是仅删除标记。

理想情况下,删除所有HTML或XML标记。

也可以通过ES6语法或jQuery来完成吗?

注意: 另外要添加这个是来自SharePoint API,因此在浏览器中返回的数据是这样的: enter image description here

1 个答案:

答案 0 :(得分:0)

使用正则表达式过滤掉任何html标记

var regex = /(<([^>]+)>)/ig;
for(var i=0;i<locationArray.length;i++){
     locationArray[i].address = locationArray[i].address.replace(regex, "");
  }
}