переменные htmlentities не работают - PullRequest
1 голос
/ 04 июня 2011

Я ищу способ использовать фрагменты кода, но безопасно вставить их в базу данных и вытащить их обратно.

У меня есть следующий код выключения.

<code>    <?php $snippet = htmlentities("<?php

define ('EMOTICONS_DIR', '/images/emoticons/');

function BBCode2Html($text) {
    $text = trim($text);

    // BBCode [code]
?>"); ?>

<pre class="prettyprint">

<?php echo $snippet; ?>

Но когда я пытаюсь запустить код в браузере, я получаю следующие ошибки.

Notice: Undefined variable: text in C:\xampp\htdocs\prettycss\index.php on line 18

Notice: Undefined variable: text in C:\xampp\htdocs\prettycss\index.php on line 18

Notice: Undefined variable: text in C:\xampp\htdocs\prettycss\index.php on line 21

Что говорит мне, что htmlentities не работает со знаками $, как лучше всего обойти это ???

Спасибо

1 Ответ

2 голосов
/ 12 июня 2011

В результате получается, что он пытается «разрешить» «текст» в вашей строке: вы используете ", что означает, что любая строка заменяется, как если бы она была переменной, а это не так.

Сбросьте все $ с \ или используйте ' (но тогда вам нужно выйти из ' курса).

Например:

<?php $snippet = htmlentities("<?php

define ('EMOTICONS_DIR', '/images/emoticons/');

function BBCode2Html(\$text) {
    \$text = trim(\$text);

// BBCode [code]
?>"); ?>
...