但是等待!我保证,这不是这些问题中的另一个。这是我鼓励做的一些自我回答的问题之一。
如何使用Javascript运行PHP?我不询问在服务器上运行PHP ,然后将结果字符串作为Javascript发送到浏览器。我实际上是在谈论Javascript解析和运行PHP。
这在许多地方可能有用:
我四处搜寻并发现了php-parser
和babel-preset-php
,但是没有任何运行。理想情况下,我正在寻找类似的内容,尽管我无法通过Google / SO / etc找到任何内容:
rooms
编辑:如果您知道比我自己的答案更好的方法,请随时分享!我对社区的想法很好奇。
答案 0 :(得分:1)
有可能!使用问题中提到的两个库,剖析// No server needed, "just" Javascript parsing PHP
alert(php(`<?= "Hello world" ?>`));
并重用某些部分以将PHP转换为Javascript,然后评估Javascript。这是一个有效的演示,可以随时在babel-preset-php
中编写一些基本的PHP,然后按<textearea>
在浏览器中运行PHP:
run
const $ = sel => document.querySelector(sel);
$('#horrible').addEventListener('submit', e => {
e.preventDefault();
eval($('#horrible textarea').value);
});
body, html {
margin: 0;
}
textarea {
line-height: 1.5;
margin: 0;
height: 2.1em;
padding: .3em .6em;
border: 1px solid #ccc;
background-color: #fff;
border-radius: .2em;
transition: all 0.3s;
width: 90%;
}
button {
display: inline-block;
text-align: center;
margin: 0;
padding: .3em .9em;
vertical-align: middle;
background: #0074d9;
color: #fff;
border: 0;
border-radius: .2em;
width: auto;
user-select: none;
margin: .3em 0;
cursor: pointer;
transition: all 0.3s;
border-radius: .2em;
height: auto;
box-shadow: 0 0 rgba(0,0,0,0) inset;
}
这是用于构建上面链接的<form id="horrible">
<textarea style="min-height:150px">const vars = { icon: '🎉' };
const out = php(`<?= "for fun! ".$icon ?>`, vars);
alert(out);</textarea>
<button data-tooltip="Are you sure? Like, 100%? There is no coming back">EVAL()</button>
<script src="https://francisco.io/blog/running-php-in-javascript/php.min.js"></script>
文件的实际代码段:
php.js
答案 1 :(得分:-1)
如果您想用jsvascript写东西。那么有必要将javascript代码保存在php文件中,即,如果文件名为temp.php
并且javascript代码应位于脚本标记中。
例如test.php(您的php文件名)
<html>
<head>
<script>
function myFunc(){
alert('<?php echo date("Y/m/d"); ?>');
}
</script>
</head>
</html>
以上代码提示日期。上面的日期是一个php date函数。
最初,php服务器执行上述代码并将JS代码视为纯文本。
,在客户端/浏览器中如下图所示
<html>
<head>
<script>
function myFunc(){
alert("2018/06/30");
}
</script>
</head>
</html>