2010-12-16 19 views
11

Wie können benutzerdefinierte (HTML5 Daten - *) Attribute in HtmlPurifier?htmlpurifier benutzerdefinierte Attribute

Input:

<img src="/my.jpg" data-type="5" alt="" /> 

führt zu einem Fehler:

Attribute 'data-type' in element 'img' not supported 
(for information on implementing this, see the support forums) 

HTMLPurifier Optionen sind:

'HTML.AllowedAttributes' => array('img.src', 'a.href', 'img.data-type') 
+0

finden Wenn Sie Ihre Frage verbessern müssen, können Sie es bearbeiten. Wenn Sie eine Antwort haben ... zögern Sie nicht, es zu posten –

Antwort

18

HTML purifier die Matrix von Attributen definiert, die Standard kompatibel sind, und beschwert sich, wenn Sie versuchen, ein Attribut zu verwenden, das in dieser Matrix nicht definiert ist. Sie können jedoch neue Attribute auf die Standarddefinition hinzufügen die Funktion HTMLDefinition mit :: addAttribute() wie folgt:

$config = HTMLPurifier_Config::createDefault(); 
$def = $config->getHTMLDefinition(true); 
$def->addAttribute('img', 'data-type', 'Text'); 
$purifier = new HTMLPurifier($config); 

Siehe die Definition von HTMLDefinition::addAttribute für weitere Details. 'Text' hier ist der Attributtyp, Sie können den Standard-Attributtyp von AttrTypes.php

Verwandte Themen