我有以下字符串。它嵌套了document.write字符串语句。我想将最里面的脚本的文本内容添加到文档中。
"document.write('<script>document.write(\"<script>document.write(\"Hello World\");<\/script>\");<\/script>')"
如何解析此字符串以便在文档中添加Hello World。对于例如html输出可以如下所示。(可以在body或div中,任何东西都可以。)
<body>Hello World</body>
P.S。可以有任意数量的嵌套document.write语句。需要解析这个可以处理n级嵌套的字符串。
答案 0 :(得分:1)
我现在明白了。
var str = "document.write('<script>document.write(\"<script>document.write(\"Hello World\");<\/script>\");<\/script>')";
var aStr, scriptEle = document.createElement('script');
aStr = str.replace(/["']/g, '"');
aStr = aStr.replace(/"<script>document.write/g, "");
aStr = aStr.replace(/;<\/script\>"/g, "");
scriptEle.innerHTML = aStr;
// console.log(aStr);
document.body.appendChild(scriptEle);
这也可以处理n级嵌套。
答案 1 :(得分:0)