Я просто хочу добавить переменную javascript в HTML-div с JQuery. Однако мне нужно добавить некоторый PHP-код в виде строки, ему не нужно выполнять его, просто нужно показать как обычную старую строку.
Следующий код, похоже, не добавляется, поскольку я считаю, что он по-прежнему распознается как синтаксис PHP.
var script = '<?php wp_list_pages(); ?>'; divName.innerHTML = script;
Любая помощь приветствуется.
Просто догадайтесь … замените скобки php объектами HTML (& lt; и & gt;), поэтому он не будет интерпретироваться как PHP-код (если вы запустите файл, содержащий JS через PHP), а также как странный код HTML (браузер ищет для скобок как html-теги, помните …) браузером.
Оберните его в теги CODE
, например:
var script = '<code><?php wp_list_pages(); ?></code>';
Пытаться:
var script = '<?php echo '<?php wp_list_pages(); ?>'; ?>';
Вероятно, вы должны избегать «горячих» HTML-токенов в тексте PHP:
div.innerHTML = script.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
Вам нужно просто избежать строки с объектами HTML (& lt; и & gt;);
ВАЖНО: Я надеюсь, что все, что вы здесь делаете, пытается отобразить PHP-код. Пожалуйста, не пытайтесь что-нибудь напугать, где PHP-код передается в поле формы обратно на сервер и выполняется через eval()
или somesuch. Это была бы невообразимо ужасная идея. Каждый раз, когда вы предоставляете клиенту доступ к коду, который будет выполняться на сервере, вы открываете себя для всех видов эксплойтов. Ваш сервер будет потерян. Не собирайте 200 долларов. Игра закончена. Потерпеть неудачу.
PHP выполняется до того, как страница будет отправлена в браузер, чтобы вы могли перейти на эту страницу, открыть ее источник и посмотреть, видно ли в этой строке, что вам нужно увидеть, например:
var script = 'the content you expect to see';
если нет, расскажите нам, что вы видите.
Если вы ищете переменную String для выполнения кода PHP, попробуйте вместо этого посмотреть здесь. Я упоминаю об этом, потому что это то, что я хотел сделать, и этот вопрос возник.