2011-02-25 7 views
5

いくつかのjavascriptの表現を実行することは可能ですか? PHPはサーバー上で実行されるサーバー側のスクリプト言語で、Javascriptがあなたが持っている必要がありますブラウザで実行され、クライアント側のスクリプト言語であるので、たとえばecho eval("Math.sqrt('25')");PHPはjavascriptコード

+3

PHPは、クライアント上のサーバー、JSで実行されます。したがって、いいえ、PHPはJSを実行することはできません。 – nico

+0

@nico JSはプラットフォームに依存しないため、どこでも実行できます。 node.jsはJSをスクリプトに使用するWebサーバーです。 AppJetとjGateは別の例です。 – kim3er

+0

@ kim3er:もちろんですが、JSをエコーし​​ている場合は、サーバー上ではなくクライアント上で実行されます。さらに、私たちは彼がサーバーにアクセスできるかどうかについては何の指示もしていません。 – nico

答えて

6

  • PHPはサーバー
  • 上で動作し、その後、JavaScriptはブラウザに、クライアント上で実行されます。

PHPは、サーバー上でいくつかのJavascriptコードを実行することはできません。


しかし(またはarroundのラップを)埋め込むPHPの拡張子に少なくともあり JavaScriptエンジン、および、結果として、1はPHPから、サーバー上でJavaScriptを実行することができます。

私が考えている拡張機能はspidermonkeyです。サーバーにインストールして有効にすると、サーバー上でPHPからJavascriptコードを実行できます。

他のPHP拡張モジュールと同様に、インストールするにはサーバーの管理者である必要があります。このサーバーは、特別なニーズに答えるため、デフォルトではインストールされません。この拡張機能について


、ここに...あなたが読みたいかもしれません2件の記事している私は、それが現実の状況で使用さ見たことがない、それを試してみました多くの人々が存在しません。

+1

http://css.dzone.com/articles/running-javascript-inside-php管理者権限がある場合はv8を使用できます。 –

5

のために、この

echo "<script language='javascript'> Math.sqrt('25') </script>" 
1

をお試しくださいPHPは、ページがロードされた後に実行されるJavascriptコード(HTMLを生成するのと同じ方法で)を生成します。

通常の状況では
2

、それはGPLライセンスの下でリリースされています。

2

は隠しdiv要素にとJavaScript

のhtml/phpの一部になりました

<div id="mybox" style="visibility:hidden;"> echo sqrt(25); </div> 

javascriptの一部

var myfield = document.getElementById("mybox"); 
myfield.visibility = 'visible'; 

でそれを呼び出すよりも、あなたのphpを入れて、あなたが行うことができますmyfieldのものは...このように

PHPのv8js

PHP

から
alert(myfield);