là nó có thể chạy một số biểu hiện javascript? ví dụ echo eval("Math.sqrt('25')");
php chạy mã javascript
Trả lời
Trong những tình huống bình thường:
- PHP chạy trên máy chủ
- và, sau đó, Javascript được chạy trên máy khách, trong trình duyệt.
Vì vậy, không, không hoàn toàn có thể thực thi một số mã Javascript trên máy chủ.
Nhưng có ít nhất là trên PHP mở rộng nhúng (hoặc quấn arround) một động cơ Javascript, và, do đó, cho phép một để thực thi Javascript trên máy chủ, từ PHP.
Tiện ích mở rộng mà tôi đang nghĩ đến là số spidermonkey: cài đặt và bật nó trên máy chủ của bạn sẽ cho phép bạn thực thi mã Javascript, trên máy chủ, từ PHP. Tất nhiên, giống như bất kỳ phần mở rộng PHP nào khác, bạn sẽ cần phải là quản trị viên của máy chủ của bạn, để cài đặt nó - và điều này không bao giờ được cài đặt theo mặc định, vì nó trả lời một nhu cầu rất cụ thể.
Về phần mở rộng này, tôi chưa bao giờ thấy nó được sử dụng trong các tình huống thực tế, và không có nhiều người đã thử nó ... đây là hai điều bạn có thể muốn đọc:
- Using JavaScript in PHP with PECL and SpiderMonkey
- và SpiderMonkey : Exécuter du Javascript côté serveur, depuis PHP(cái này là trong tiếng pháp, và trên blog của riêng tôi)
http://css.dzone.com/articles/running-javascript-inside-php bạn có thể sử dụng v8 nếu bạn có quyền quản trị. –
Hãy thử điều này
echo "<script language='javascript'> Math.sqrt('25') </script>"
Kể từ PHP là một ngôn ngữ kịch bản phía máy chủ chạy trên máy chủ và Javascript là một ngôn ngữ kịch bản phía máy khách chạy trong một trình duyệt bạn sẽ phải có PHP tạo mã Javascript (giống như cách nó tạo HTML) được thực hiện sau khi trang được tải.
Ngoài ra còn có các J4P5
Tôi không biết nếu nó vẫn được duy trì nhưng bạn luôn có thể ngã ba nó, nó được phát hành theo giấy phép GPL.
đặt php của bạn thành một div ẩn và hơn gọi nó với javascript
html/php phần
<div id="mybox" style="visibility:hidden;"> echo sqrt(25); </div>
javascript phần
var myfield = document.getElementById("mybox");
myfield.visibility = 'visible';
bây giờ, bạn có thể làm bất cứ điều gì với myfield ... như thế này
alert(myfield);
đang chạy JavaScript từ PHP
v8js php: 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
- 1. chạy mã MATLAB từ php
- 2. Mã chạy Javascript một lần
- 3. Chạy mã php trong dòng lệnh
- 4. Chrome: Tự động chạy cho mã Javascript?
- 5. Chuyển biến javascript sang mã php?
- 6. cách viết mã javascript bên trong php
- 7. Mã PHP bên trong "document.write()" của Javascript "
- 8. Tự động chạy tập lệnh PDF trên php hoặc javascript
- 9. Mã PHP để dừng tập lệnh chạy từ trình duyệt
- 10. Có cách nào để chạy mã R từ JavaScript?
- 11. Chạy mã bên trong một chuỗi khác trong javascript
- 12. Cách quét mã QR bằng webcam và php hoặc javascript
- 13. Sử dụng mã PHP trong tệp Javascript bên ngoài
- 14. Tự chạy tập lệnh php?
- 15. php javascript minifier
- 16. Mã hóa tệp PHP
- 17. Làm cách nào để chạy mã PHP khi người dùng nhấp vào một liên kết?
- 18. Chạy .exe từ Javascript
- 19. Mã hóa url url php
- 20. Mã hóa/giải mã RSA tương thích với Javascript và PHP
- 21. Gọi hàm php từ JavaScript
- 22. Chạy JavaScript trong watir-webdriver
- 23. Chạy Javascript với CScript?
- 24. Emacs chạy-javascript?
- 25. phương pháp mã hóa PHP đúng mã hóa PHP?
- 26. textarea bằng Javascript & PHP
- 27. Đọc PHP mảng JavaScript
- 28. Javascript để $$ VARNAME PHP
- 29. Tạo tệp Javascript bằng PHP
- 30. Mã hóa PHP trong Android
PHP chạy trên máy chủ, JS trên máy khách. Do đó, không, PHP không thể chạy JS. – nico
@nico JS là nền tảng bất khả tri và do đó có thể chạy bất cứ nơi nào bạn muốn. node.js là một máy chủ web sử dụng JS cho kịch bản lệnh. AppJet & jGate là các ví dụ khác. – kim3er
@ kim3er: Chắc chắn, nhưng nếu bạn đang lặp lại JS, nó sẽ chạy trên máy khách chứ không phải trên máy chủ. Hơn nữa, chúng tôi không có bất kỳ dấu hiệu nào cho thấy anh ta có quyền truy cập vào máy chủ. – nico