我试图在处理之前从js feed中删除一些不需要的注释
如果我尝试这个
data = data.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, ' ');
console.log(data);
我收到错误data.replace不是一个函数..这是因为它仍然处于对象格式吗?
我这样做的原因是Feed中有
test test <script>console.log("some script")</script> more text
而且我需要在处理之前将其剥离,因为在敲除中无法加载此数据
data是json格式的一组数据。
var data = [
{
'id': '1',
'firstName': 'fname1',
'lastName': 'lname2'
'text': 'Text'
},
{
'id': '2',
'firstName': 'fnam2',
'lastName': 'lname2'
'text': 'text text <script>console.log("some script")</script> text'
}]
最佳答案
没错,您不能将replace
应用于对象。它必须是一个字符串,因此您应该遍历所有元素并将replace
应用于相关字段
data.map(function (element) {
element.text = element.text
.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, ' ');
})
关于javascript - 在处理之前从json/js feed中删除所有javascript标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31197311/