2010-02-01 3 views
1

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

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

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

Любая помощь будет очень признательна.

+0

Можете ли вы подробно остановиться на том, что именно вам нужно сделать? –

+0

Я просто хочу div 'divName', чтобы показать содержимое «скрипта» щелчком. Если script = 'test', он работает нормально. Но не с кодом выше. – Goldy

+0

Надеюсь, вы только перейдете к отображению этого PHP-кода. Скажите, пожалуйста, вы не пытаетесь передать его в форме или что-то еще. Пожалуйста пожалуйста. –

ответ

4

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

+0

Спасибо, что делает трюк. Сейчас проблема только в том, что я собираюсь использовать Adobe AIR, чтобы сохранить содержимое этого div в качестве реального файла PHP и поэтому необходимо выполнить в этом файле. Не уверен, что я пытаюсь достичь, на самом деле возможно. Однако ваш ответ был полезен. Благодарю. – Goldy

+0

@ Goldy NO! Пожалуйста, см. Мой ответ. –

2

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

var script = '<code><?php wp_list_pages(); ?></code>'; 
2

Try:

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

+2

Люди, я бы не стал так стремиться к этому. Описание OPs позволяет прочитать, что это именно то, что он ищет. – Gordon

1

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

div.innerHTML = script.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); 
+0

Это также делает работы, спасибо. – Goldy

1

Вам нужно просто бежать строку с HTML-сущностей (& лт и & Гт)

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

+1

heheh, это первое, что перешло мне в голову, читая это :) – Paolo

+0

Не нужно волноваться, все, что я хотел просто показать код как текст! Не планировал ничего «фанки». Я пытаюсь создать инструмент настройки темы с помощью Adobe AIR. – Goldy

+0

@ Goldy Ok. На самом деле ты меня беспокоился. Даже если вы поймете, какая это ужасная идея, вы будете удивлены, как часто люди готовят ужасные схемы, подобные этому. –

0

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

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

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

0

Если вы ищете String variable to execute PHP code, попробуйте вместо этого искать здесь. Я упоминаю об этом, потому что это то, что я хотел сделать, и этот вопрос возник.

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