如何使用javascript从任何字符串中删除CDATA标签?

时间:2015-08-07 14:21:42

标签: javascript angularjs

我正在使用angularjsjson网络服务中获取rest个数据。

问题:大多数文本元素都预先格式化,包含html标记,如<p>, <br>, <ul>等。作为这些标记的指示符,文本包含在CDATA标记内,如下所示:

JSON:

{
    "offerName": "<![CDATA[<b>Testoffer 1</b>]]>"
}

angularjs:

$http.get(url).success(function(data) {
    $scope.data = data;
});

HTML:

<h1>{{data.offerName}}</h1>

现在,我怎样才能让客户端在显示之前删除任何CDATA标签?

1 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

'<![CDATA[<b>Testoffer]]> 1</b>]]>'.replace(/^<\!\[CDATA\[|\]\]>$/g,'')

如果它们位于字符串的开头和结尾,它只匹配CDATA。删除^和$以匹配任何地方