2010-11-18 4 views
0

Мне нужно бежать весь яваскрипт блок кода с помощью escape() совместимой функции с помощью PHP, а затем поместить полученный код JavaScript обратно в код построить так:Портирования JavaScript побега() в PHP

document.write(unescape(ESCAPED_JS)); 

Я не пытаясь повысить безопасность, делая это, защищайте код или что-то в этом роде. Просто сделать это немного сложнее, чтобы взглянуть на код и посмотреть, что он делает.

У кого-нибудь есть рабочее решение для этого или идея, как это сделать? Единственная ссылка, которую я нашел об этом, - на this page, но она касается только того, что unescaping JS-escaped string использует PHP, но, особенно заботясь о символах UTF-8 (что мне также нужно учитывать).

+1

'побег()' и 'экранирования в()' не работают не-ascii. Моим советом было бы забыть об этом, обфускация только поощрит некоторых людей дальше. –

+0

Не делайте этого ... – Incognito

+1

На боковой ноте вы можете проверить компрессор YUI (http://developer.yahoo.com/yui/compressor/). Он заменяет имена переменных одиночными буквами (где это возможно) и выделяет ненужное пустое пространство. Он не только делает скрипт очень трудным для чтения, но также уменьшает размер, что уменьшает время загрузки страницы. – Brendan

ответ

2

escape не является стандартной функцией. Лучше использовать encodeURIComponent или JSON вместо этого.

+0

Ну, если это не стандартная функция, тогда нет необходимости его переносить в любом месте. Благодарю. Я буду использовать компрессор JS для решения моей проблемы. –

0

Для этого вы должны использовать urlencode и urldecode.

http://php.net/manual/en/function.urlencode.php

+0

... и Javascript-аналог? –

+0

Я не могу это сделать, используя (raw) функции urlencode/decode, потому что они кодируют только специальные символы. –

1

Гамбо прав (как всегда), но я думаю, что rawurlencode и rawurldecode являются PHP эквиваленты Дж.С. escape и unescape

Смежные вопросы