[英]Parse HTML string containing script tag and document.write
我有下面的字符串。 它具有嵌套的document.write字符串語句。 我想將最里面的腳本的文本內容添加到文檔中。
"document.write('<script>document.write(\"<script>document.write(\"Hello World\");<\/script>\");<\/script>')"
如何解析此字符串,以便將Hello World添加到文檔中。 例如,html輸出可以如下。(可以在body或div中,一切正常。)
<body>Hello World</body>
PS可以有任意數量的嵌套document.write語句。 需要解析該字符串,它可以處理n級嵌套。
好吧,我現在想通了。
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級嵌套。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.