[英]php run javascript code
是否可以运行一些JavaScript表达式? 例如echo eval("Math.sqrt('25')");
在正常情况下:
所以,不,让PHP在服务器上执行一些Javascript代码是不可能的。
但至少在PHP扩展上嵌入(或包装arround) Javascript引擎,因此,允许用户在PHP上执行Javascript。
我正在考虑的扩展是spidermonkey :在服务器上安装和启用它将允许您在服务器上从PHP执行Javascript代码。
当然,像任何其他PHP扩展一样,您需要成为服务器的管理员才能安装它 - 并且默认情况下永远不会安装此服务器,因为它满足了非常具体的需求。
关于这个扩展,我从来没有看到它在实际情况下使用,并没有很多人尝试过它...这里有两篇你可能想读的文章:
试试这个
echo "<script language='javascript'> Math.sqrt('25') </script>"
将你的PHP放入一个隐藏的div,而不是用javascript调用它
html / php部分
<div id="mybox" style="visibility:hidden;"> echo sqrt(25); </div>
javascript部分
var myfield = document.getElementById("mybox");
myfield.visibility = 'visible';
现在,你可以对myfield做任何事......就像这样
alert(myfield);
还有J4P5
我不知道它是否仍然保留,但你可以随时分叉,它是在GPL许可下发布的。
由于PHP是在服务器上运行的服务器端脚本语言,而Javascript是在浏览器中运行的客户端脚本语言,因此您必须让PHP生成Javascript代码(与生成HTML的方式相同)页面已加载。
从PHP运行JavaScript代码
php v8js: https : //github.com/phpv8/v8js
$v8 = new V8Js;
$v8->executeString("Math.sqrt('25')"); // 5
https://github.com/chenos/execjs
use Chenos\ExecJs\Context;
$cxt = new Context;
$cxt->eval("Math.sqrt('25')"); // 5
如果您的服务器上安装了节点,那么您可以使用php执行此命令
node a.js
然后使用console.log作为输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.