簡體   English   中英

我可以通過PHP執行js文件嗎?

[英]Can I execute js files via php?

情況如下:

我有php文件,它解析一個網頁。 在該網頁上是一個電話號碼,它的數字是相互混合的。 將每個數字放在正確位置的唯一方法是使用一些JS函數(在客戶端)。 所以,當我在linux控制台中執行那個php文件時,它給了我所需要的一切,除了js函數的結果(難怪 - JavaScript不是服務器端語言)。 所以我從JS看到的只是一個代碼,我寫的。

問題:我可以通過php執行js文件嗎?

快速谷歌搜索的結果(terms = javascript engine php

  1. J4P5 - 自2005年以來未開發[BAD](根據其新聞)
  2. PECL包spidermonkey
  3. jeresig在2008年的一篇文章中指出了PHPJS,但是看不到它上次更新的時間。

我相信你會在google搜索上找到更多鏈接。

或者:

你說數字是亂碼的,你需要用js“解讀”它們。 你可以將解擾邏輯編碼到PHP函數中並使用它嗎? 肯定會為你省去很多麻煩,但是如果學習在php中使用js就是你所追求的,那么它就是一個完全不同的故事......

http://en.wikipedia.org/wiki/Comparison_of_Server-side_JavaScript_solutions

或者,PHP具有執行其他程序和檢索其輸出的簡單功能(我使用它與GPG一起創建一個PHP文件管理器,可以在上載文件時對文件進行實時加密,並在下載時實時解密)

使用這些功能以及http://code.google.com/p/v8/,您應該能夠解釋任何JavaScript。

除非你知道有人在PHP中實現了Javascript引擎。

換句話說,可能不是。

如果沒有某種瀏覽器仿真或將未解析的js傳遞給javascript的服務器端實現(可能是node.js?),您將無法執行它。

但是,頁面是否每次使用相同的js函數來解讀電話號碼? 您應該能夠讀取錯誤的數字並使用PHP對其進行隨機播放。

如果你准備做一些工作來構建你自己的JS運行時來使用它, Tim Whitlock用純PHP編寫了一個javascript標記器和解析器

node.js是服務器端...但完整的JS :)沒有PHP,所以我不回答你的需求...

無論如何,這是一個例子:在客戶端和服務器端的JS聊天: http//chat.nodejs.org/

此外,並非每個主機都允許您使用v8引擎......

如果您有Javascript數據對象,並且需要將它們轉換為PHP數組或從PHP數組轉換它們,那么使用PHP的json_encode()json_decode()函數就很容易了。

但實際上運行Javascript代碼? 不,你不能。 您可能能夠找到用PHP編寫的JS解釋器(其他一些答案指出了可能會或可能不會幫助您的鏈接),或者更可能使用您調用的服務器上的獨立JS解釋器來執行JS來自PHP。 但是,如果JS代碼包含對瀏覽器DOM的引用(很有可能),那么這是另外一組問題,這幾乎肯定會使它變得不可能。

鑒於您描述問題的方式,我認為最簡單的解決方案就是將JS代碼重新實現為PHP代碼; 所提出的所有工作都不太可能適用於聽起來像一個相當簡單的實用程序代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM