2010-03-30 55 views
0

我想安裝HTML淨化器http://htmlpurifier.org/但我得到以下錯誤未定義的變量:dirty_html。我想知道如何解決這個問題?PHP和HTML淨化器錯誤:未定義的變量: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> 

回答

1

$ dirty_html應該是網頁

它看起來就像是增加一個DOCTYPE和編碼到你的HTML,所以我認爲你會使用這樣的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; 
+0

什麼是我的表單提交的網頁上的HTML? – TaG 2010-03-30 12:34:35

3

目前尚不清楚你想淨化什麼。一些$ _POST變量?你得到那個錯誤,因爲你還沒有定義$dirty_html。例如,如果要純化about_me字段,請使用

$clean_html = $purifier->purify($_POST['about_me']);