gpt4 book ai didi

javascript - 在一堆 HTML 中查找并执行 Javascript 片段

转载 作者:行者123 更新时间:2023-11-28 16:39:58 25 4
gpt4 key购买 nike

我需要检测和eval字符串中包含的 Javascript 代码。

以下代码有效,但它仅计算第一个 <script>...</script>它成立了。

function executeJs(html) {
var scriptFragment = "<script(.+?)>(.+?)<\/script>";
match = new RegExp(scriptFragment, "im");
var matches = html.match(match);
if (matches.length >= 2) {
eval(matches[2]);
}
}

我想知道是否有一种方法可以让我迭代并执行所有 Javascript 片段。

最佳答案

它只需要第一个的原因是因为您缺少 g 标志。试试这个:

function executeJs(html) {
var scriptFragment = '<script(.*?)>(.+?)<\/script>';
var re = new RegExp(scriptFragment, 'gim'), match;
while ((match = re.exec(html)) != null) {
eval(match[2]);
}
}

executeJs('<script>alert("hello")</script>abc<script>alert("world")</script>');

关于javascript - 在一堆 HTML 中查找并执行 Javascript 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1409449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com