Ошибка очистителя PHP & HTML: неопределенная переменная: dirty_html - PullRequest
0 голосов
/ 30 марта 2010

Я пытаюсь установить HTML Purifier http://htmlpurifier.org/, но получаю следующую ошибку Неопределенная переменная: dirty_html. Мне было интересно, как я могу решить эту проблему?

Вот код PHP.

 require_once '../../htmlpurifier/library/HTMLPurifier.auto.php';

 $config = HTMLPurifier_Config::createDefault();
 $config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
 $config->set('HTML.Doctype', 'XHTML 1.0 Strict'); // replace with your doctype
 $purifier = new HTMLPurifier($config);

 $clean_html = $purifier->purify($dirty_html);

Вот моя HTML-форма.

<form method="post" action="index.php">
    <fieldset>
        <ul>
            <li><label for="about-me">About Me: </label>
            <textarea rows="8" cols="60" name="about-me" id="about-me"></textarea></li>

            <li><label for="my-interests">My Interests: </label>
            <textarea rows="8" cols="60" name="interests" id="interests"></textarea></li>

            <li><input type="submit" name="submit" value="Save Changes" class="save-button" />
        </ul>
    </fieldset>

</form>

Ответы [ 2 ]

3 голосов
/ 30 марта 2010

Не ясно, что вы хотите очистить. Некоторые переменные $ _POST? Вы получаете эту ошибку, потому что вы не определили $dirty_html. Например, если вы хотите очистить поле about_me, используйте

$clean_html = $purifier->purify($_POST['about_me']);
1 голос
/ 30 марта 2010

$ dirty_html должен быть HTML-кодом веб-страницы

Похоже, вы добавляете DOCTYPE и кодировку в свой HTML, поэтому я предположил, что вы будете использовать его следующим образом:

$dirty_html =<<<DIRTYHTML
<form method="post" action="index.php">
    <fieldset>
        <ul>
            <li><label for="about-me">About Me: </label>
            <textarea rows="8" cols="60" name="about-me" id="about-me"></textarea></li>

            <li><label for="my-interests">My Interests: </label>
            <textarea rows="8" cols="60" name="interests" id="interests"></textarea></li>

            <li><input type="submit" name="submit" value="Save Changes" class="save-button" />
        </ul>
    </fieldset>

</form>
DIRTYHTML;

$clean_html = $purifier->purify($dirty_html);
echo $clean_html;
...