Могу ли я выполнять файлы JS через PHP? - PullRequest
1 голос
/ 30 сентября 2010

Ситуация следующая:

У меня есть php-файл, который анализирует веб-страницу. на этой веб-странице указан номер телефона, и его цифры смешаны друг с другом. Единственный способ поместить каждую цифру в правильное место - это использовать некоторые функции JS (на стороне клиента). Поэтому, когда я выполняю этот php-файл в консоли linux, он дает мне все, что мне нужно, кроме результата функции js (неудивительно - JavaScript не является языком сервера) Так что все, что я вижу из JS - только код, который я написал.

Вопрос: можно ли запускать js-файлы через php и как?

Ответы [ 8 ]

2 голосов
/ 30 сентября 2010

Результаты быстрого поиска в Google (термины = javascript engine php)

  1. J4P5 - не разрабатывается с 2005 года [BAD] (согласно его новостям)
  2. PECL пакет spidermonkey
  3. сообщение 2008 года от jeresig указывает на PHPJS, но не может видеть, когда оно было в последний раз обновлено.ссылки на этот поиск Google.

    В качестве альтернативы:

    вы говорите, что цифры зашифрованы, и вам нужно "расшифровать" их с помощью js.Можете ли вы кодировать эту расшифровывающую логику в функцию PHP и просто использовать ее?Конечно, это избавит вас от многих проблем, но если вы хотите научиться использовать js в php, то это совсем другая история ...

1 голос
/ 30 сентября 2010

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

В качестве альтернативы, в PHP есть простые функции для запуска других программ и извлечения их выходных данных (я однажды использовал это вместе с GPG, чтобы создать файловый менеджер PHP, который мог бы шифровать файлы в реальном времени при загрузке.их и в режиме реального времени расшифровывайте, как вы их загружали)

Используя эти функции вместе с http://code.google.com/p/v8/, вы сможете интерпретировать любой javascript.

1 голос
/ 30 сентября 2010
0 голосов
/ 30 сентября 2010

Если у вас есть объекты данных Javascript, и вам нужно преобразовать их в / из массивов PHP, это довольно легко с помощью функций PHP json_encode() и json_decode().

Но на самом деле работает код Javascript?Нет, ты не можешьВозможно, вам удастся найти интерпретатор JS, написанный на PHP (несколько других ответов указали на ссылки, которые могут вам здесь помочь, а могут и не помочь), или, скорее всего, выполните JS, используя автономный интерпретатор JS на вашем сервере, который вы называетеиз PHP.Однако, если код JS включает ссылки на DOM браузера (что весьма вероятно), это целый ряд других проблем, которые почти наверняка сделают его невозможным.

Учитывая то, как вы описываете вопрос, я быскажем, самое простое решение для вас было бы просто повторно реализовать код JS как код PHP;маловероятно, что все предлагаемые обходные пути будут подходить для того, что звучит как довольно простой фрагмент служебного кода.

0 голосов
/ 30 сентября 2010

node.js на стороне сервера ... но полный JS :) нет PHP в нем, поэтому я не отвечаю вашим потребностям ...

В любом случае, вот пример: чат вJS как на стороне клиента, так и на стороне сервера: http://chat.nodejs.org/

Кроме того, не каждый хост позволяет использовать механизм v8 ...

0 голосов
/ 30 сентября 2010

Если вы готовы проделать небольшую работу по созданию собственной среды выполнения JS для работы с ней, Тим Уитлок написал jokascript tokenizer и парсер на чистом PHP

0 голосов
/ 30 сентября 2010

Без какой-либо эмуляции браузера или передачи непарсированных js серверной реализации javascript (возможно, node.js?) Вы не сможете его выполнить.

Однако,страница использует ту же функцию JS, чтобы каждый раз расшифровывать номер телефона?Вы должны быть в состоянии прочитать неправильные цифры и перемешать их с помощью PHP.

0 голосов
/ 30 сентября 2010

Нет, если вы не знаете кого-то, кто внедрил движок Javascript в PHP.

Другими словами, вероятно, нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...