использование php включает в jquery

То, что я пытаюсь сделать, – это использование php в атрибуте jquery append. что-то вроде этого:

 $('a.popup[href^=#]').click(function() { $('body').append('<div id="content" class="popup_block"><?php include( SITE_URL . 'activity/popup.php' ) ?></div>'); 

Мой скрипт находится в php-файле, на стороне сервера, так что я мог бы это сделать, но я не уверен, как это сделать. Когда дело доходит до html, css и т. Д., Я могу объединить его и php в php-файле, но когда дело доходит до javascript, его кавычки меня смущают, а также когда и как использовать скобки. Это может показаться странным. В любом случае, имеет ли CDATA какое-либо отношение к этому? Я никогда не использовал его раньше, но я должен по крайней мере научиться его использованию.

Интерпретатор PHP будет искать теги <?php и ?> И попытаться оценить что-либо между ними. Это не касается окружающих цитат. Вы должны убедиться, что результат того, что делает PHP, является действительным Javascript.

 var foo = '<?php include 'foo.php'; ?>'; 

становится

 var foo = 'This is the content of foo.php.'; 

после того, как PHP будет с этим выполнен.

Если в foo.php есть кавычки, это может стать следующим:

 var foo = 'This is the 'content' of foo.php.'; 

который является недопустимым синтаксисом Javascript. Вам нужно будет избежать любого символа foo.php который может вызвать такой недействительный синтаксис, например, с помощью addslashes . Это может быть довольно громоздким, поэтому я бы посоветовал искать альтернативу для этого.

Вы можете кодировать значение с помощью JSON, который определенно синтаксически безопасен:

 var foo = <?php echo json_encode("Some string with 'quotes'."); ?>; 

Генерация кода в коде всегда сложна, старайтесь не делать этого и придерживаться нейтральных форматов обмена данными, таких как JSON или XML.

Если вы на 100% уверены, что у вас нет каких-либо одиночных кавычек в вашем включении, не должно быть никаких проблем с тем, как у вас есть.

Если вы хотите визуализировать его, скопируйте весь свой сгенерированный код из включенного php-файла и вставьте его прямо на главную страницу внутри append() . Посмотрите, как это выглядит. Это даст вам хорошее представление о том, что будет в браузере.