Сохраните html / php код в переменную php - PullRequest
2 голосов
/ 25 июля 2011

Каков наилучший / самый безопасный способ сохранить html-разметку с php-кодом в ней в переменной php? Или есть лучшее решение, чем хранить его в переменной?

РЕДАКТИРОВАТЬ: Извините, что не в том, что я пытаюсь сделать! У меня есть шаблон статьи, который извлекает всю информацию (название / дата / контент / и т. Д.) Из базы данных и загружает ее. У меня есть страница, где вы отправляете статью, и я пытаюсь автоматизировать процесс создания файла. Я хочу создать файл с именем заголовка статьи, а затем записать в него код шаблона (отсюда и переменную, содержащую код шаблона и использующую fwrite ()). Я знаю, что могу просто сохранить файл шаблона на веб-сайте и скопировать его поверх / переименовать, но если кто-то наткнется на шаблон, то это полный беспорядок, и я не хочу хранить его в виде простого текста.

Ответы [ 4 ]

4 голосов
/ 25 июля 2011

Я предпочитаю что-то вроде этого

$str = <<<EOD
Example of string with html <div>some sample text</div>
spanning multiple lines <span>span text!</span>
using heredoc syntax.
EOD;
1 голос
/ 25 июля 2011

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

Вероятно, это будет отличная ситуация для использования базы данных MySQL.Я предполагаю, что вы знаете, как работать с тем, кто использует PHP, но дайте мне знать, если вы не знаете, как.

Таким образом, вы можете сохранить HTML в базе данных, используя функцию PHP htmlentities():

$var = htmlentities($var, ENT_QUOTES);

Таким образом, все HTML-символы (например, "<", ">" и кавычки) безопасно кодируются в базу данных.Например,

<strong>Here is HTML</strong> становится &lt;strong&gt;Here is HTML&lt;/strong&gt;

Таким образом, если ваши шаблоны имеют какой-либо HTML, их можно легко и безопасно извлечь через mysql_query() и отобразить.

0 голосов
/ 03 сентября 2016

Это даст более чистый путь, чем EDO ...

<?php ob_start(); ?>
<div>HTML goes here...</div>
<div>More HTML...</div>
<?php $my_var = ob_get_clean(); ?>
0 голосов
/ 25 июля 2011

Я бы сохранил ее в файле, а затем, когда кто-то захочет создать новую статью, загрузит ее с DOMDocument , заменит элементы, которые нужно заменить, и использует DOMDocument :: saveHTML для выгрузки код к файлу, когда вы закончите =)

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