Строковая переменная Javascript, содержащая код PHP - PullRequest
1 голос
/ 01 февраля 2010

Я просто хочу добавить переменную javascript в div HTML с помощью JQuery. Однако мне нужно добавить некоторый код PHP в виде строки, его не нужно выполнять, просто нужно отобразить его в виде простой старой строки.

Следующий код, похоже, не добавляется, потому что я думаю, что он все еще распознается как синтаксис PHP.

var script = '<?php wp_list_pages(); ?>';
divName.innerHTML = script;

Любая помощь будет высоко ценится.

Ответы [ 7 ]

4 голосов
/ 01 февраля 2010

Просто предположение ... замените скобки php сущностями HTML (& lt; и & gt;), чтобы они не интерпретировались ни как код PHP (если вы запускаете файл, содержащий JS через PHP), ни как странный код HTML браузер ищет скобки как теги html, помните ...) браузером.

2 голосов
/ 01 февраля 2010

Попробуйте:

var script = '<?php echo '<?php wp_list_pages(); ?>'; ?>';

2 голосов
/ 01 февраля 2010

Оберните его в CODE теги, например:

var script = '<code><?php wp_list_pages(); ?></code>';
1 голос
/ 01 февраля 2010

Вам нужно просто экранировать строку с HTML-сущностями (& lt; и & gt;)

ВАЖНО: Я надеюсь, что все, что вы здесь делаете, пытается отобразить код PHP. Пожалуйста, не пытайтесь делать что-то напуганное, когда PHP-код передается в поле формы обратно на сервер и выполняется через eval() или что-то подобное Это было бы невероятно ужасной идеей. Каждый раз, когда вы предоставляете клиенту доступ к коду, который будет выполняться на сервере, вы открываете себя для всех видов эксплойтов. Ваш сервер будет потерян. Не собирайте 200 долларов. Игра окончена. Сбой.

1 голос
/ 01 февраля 2010

Вы, вероятно, должны избегать "горячих" токенов HTML в тексте PHP:

div.innerHTML = script.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
0 голосов
/ 14 мая 2012

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

0 голосов
/ 01 февраля 2010

PHP выполняется перед отправкой страницы в браузер, поэтому вы можете перейти на эту страницу, открыть ее источник и посмотреть, видите ли вы в этой строке то, что вам нужно увидеть, например:

var script = 'the content you expect to see';

если нет, расскажите нам, что вы видите.

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