首页 > 解决方案 > 在 PHP 中使用 Javascript 时如何获得 eval 的结果?

问题描述

我实际上在开发一个名为 jedox 的工具。使用这个工具,我可以在 PHP 中制作宏(如 excel)。Jedox 提供了一些宏示例,在其中一个示例中有以下代码:

function test()
{
 return array(array('eval', "(function(){
  console.log('salut')
  }())"));
}

这是一个运行 JS 代码的 PHP 代码。但问题是我不知道这段代码是如何工作的,我唯一知道的是它执行JS代码但不能返回任何东西,所以如果你return输入代码它不会返回任何值。我无法检索返回的值。

所以我的问题是我应该如何从中检索值?

PS:如果我尝试调查 test() 返回的值,我会得到一个与另一个数组嵌套的数组,其中包含这两个值“eval”和函数。PS2:显然您无法使用传统工具正确运行此代码。所以为了帮助我,你应该有 jedox,我猜:/ ...

标签: javascriptphpjedox

解决方案


在客户端,必须有人获取这两个字符串并执行它们。PHP 代码(“主机端”)实际上并没有这样做。


推荐阅读