我试图将完成的程序上传到yahoo托管服务器,不幸的是我不认为有任何方法可以删除魔法引号。由于该程序大量使用AJAX,我试图构建一些可行的东西。下图显示了AJAX发送消息时插入的字符串:
在这种情况下,我只想要真实,而不是所有后来的东西。但是在这个程序中有很多ajax调用,我试图找到一种方法来提取<script ......
和</script>
之间的所有内容,并将其从ajax响应中删除。
有什么想法吗?
答案 0 :(得分:1)
str.replace(/<script.*>.*<\/script>/g, "");
答案 1 :(得分:1)
str = str.replace(/<script.*?<\/script>/g, '');
答案 2 :(得分:1)
如果你想要,你可以尝试这样的事情:
字符串:
var response = "true<script>All the script</script>";
匹配度:
response = response.match(/(\w)*/)[0]; //"true"
不尝试 jsfiddle.net ,它不起作用(因为你必须在javascript字段中写&lt; script&gt;)。将其复制并粘贴到您的控制台中进行测试:
var response = "true<script>HELLO I'M A SCRIPT</script>";
response = response.match(/(\w)*/)[0];
console.log(response);
alert(response);
我尝试过速度测试:http://jsperf.com/superlol“。匹配()”,优于“.replace”,但只是一点点。
:)
答案 3 :(得分:0)
在变量中获取响应:
var a = "true<script type........</script>";
现在使用split
来获取您想要的数据。
var new = a.split('<script')[0] + a.split('</script>')[1];