4
雖然使用配置選項來避免這種行爲,但我在使用HTML Purifier時遇到了問題,它會刪除標題元素上的ID。
現在我使用:
// set up HTML Purifier for user inputs
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', 'UTF-8');
$config->set('HTML.Doctype', 'HTML 4.01 Transitional');
$config->set('Attr.EnableID', true);
$config->set('HTML.Trusted', true);
$purifier = new HTMLPurifier($config);
我再餵它像一個字符串:
<h6 id="1843804297">This is a title</h6><h5 id="1979691494">This one too.</h5><h3 id="932393874">I think you see where this is going.</h3>
我也曾嘗試使用標識創建的標題列入白名單條目都無濟於事,甚至直接操作存儲在$ config對象中的默認值。
$config->def->defaults['Attr.EnableID'] = true;
這些ID很重要,因爲它們是由PHP腳本分配的,存儲在MySQL中,隨後由JS導航系統拾取。他們需要從用戶那裏獲得信息,因爲他們通常會保持靜態,以便隨後進行內容更新。
啊,我想知道這是否與文檔類型有關。明天早上我會拍這張照片,並將其標記爲已解決。 –