所以,我有一个很大的.js文件,我希望用它来定义其中定义的所有变量。我想用PHP做这个(如果它是JS,那很容易)。
所以,例如,我有这个代码:
var var1="var value";
var var2={
something:'value'
};
window.var3 = 80+100
;var4='another var value';
我应该得到一个这样的列表:
我试图使用正则表达式进行此操作,但我无法找到一个可以保证捕获所有内容的正则表达式。
以下是我遇到的一些问题:
答案 0 :(得分:1)
要确保捕获所有变量内容,您肯定需要使用JS解析器,运行代码然后从解析器输出完整的变量上下文。最后你还可以得到这样的东西:
var whatever = (function() { return 4; })();
这是完全有效的javascript,可能会发生,而且通常比返回更复杂。
如果这是用户提供的代码,则运行代码确实存在一些安全问题,因为有人可以轻松地将外部资源调用到代码中。所以这里需要特别小心。