1
我試圖通過htmlpurifier傳遞一些XML標記(ABCDEF>)。由於標籤本身不被支持,我想先添加一個元素,然後將其添加到allowedElements。然而,這不起作用,我只是得到一個空白頁面。任何想法請在我做錯了什麼,或者如果有一個更簡單的方法來實現我在找什麼。HTMLPurifier - 添加到忽略列表
$config = HTMLPurifier_Config::createDefault();
$config->set('Core', 'Encoding', "UTF-8");
$config->set('HTML', 'DefinitionID', 'pinaki-test');
$config->set('HTML', 'DefinitionRev', 3);
$config->set('Cache', 'DefinitionImpl', null); // remove this later!
$config->set('Cache', 'SerializerPath', "/var/cache/htmlpurify");
$def = $config->getHTMLDefinition(true);
$def->addElement("tag1", false, 'Empty', 'Common', array());
$def->addElement("tag2", false, 'Empty', 'Common', array());
$config->set('HTML', 'AllowedElements', array("tag1", "tag2"));
讓我們知道是否有人需要任何其他細節。
注:圖書館是不添加元素做工精細。
我確實有錯誤打開,請你解釋一下你的意思是「它將排除所有其他元素」。問這個,因爲我用的組$ config->設置(「HTML.AllowedElements」,陣列(「標籤1」,「標籤2」))無addElements()和它沒有似乎忽略了其他標籤。該文件還表示,它是消減性的,即只作爲白名單。我錯過了什麼嗎? – pinaki 2010-07-20 18:41:34
我不相信你打開了錯誤:如果他們是,你不會得到一個空白頁。請記住,display_errors和error_reporting都是控制錯誤。 該文檔是在這方面有點混亂。減法表示的是,HTML Purifier具有內置的允許元素集,並且您不能通過將其添加到允許的元素中來奇蹟般地添加對其他元素的支持。但是,AllowedElements本身就像白名單一樣,因此不在列表中的任何內容都將被排除。 – 2010-07-20 19:07:28
那麼作爲替代方法,您會有什麼建議?感謝您的詳細解釋。 – pinaki 2010-07-21 04:36:24