我必须解析 javascript 文件并在每次调用特定函数时替换最后一个函数参数。我有一组提供新 ID 的替换值。
JavaScript 代码:
// every time this function is called I need to replace change_id with different value from array
function submitData(element_id, url, change_id) {...
...
}
...
// I want to replace 3, 2 and 4 with values from my array
// 3,2,4 are just used for example, values are dynamic
window.addEventListener('beforeunload', function (e) { submitData(1, "http://mysite/metrics, 3");}); window.addEventListener('beforeunload', function (e) { submitData(1, "http://mysite/metrics, 2");}); window.addEventListener('beforeunload', function (e) { submitData(1, "http://mysite/metrics, 4");});
我有一个 ids 数组,我想循环遍历它们,并将每个函数调用中的值替换为该数组中的值之一
我的阵列:
$change_ids = [10,15,20];
所以结果应该是:
window.addEventListener('beforeunload', function (e) { submitData(1, "http://mysite/metrics, 10");}); window.addEventListener('beforeunload', function (e) { submitData(1, "http://mysite/metrics, 15");}); window.addEventListener('beforeunload', function (e) { submitData(1, "http://mysite/metrics, 20");});
只有函数调用中的第三个参数需要更改,所以我考虑使用这样的东西(在这里找到):
$search = "/[^metrics,](.*)[^\"\)]/";
$replace = "10";
$string = file_get_contents($pathToJsFile);
echo preg_replace($search,$replace,$string);
但问题是$change_id每次函数调用都会相等
Smart猫小萌
POPMUISE