2010-12-16 17 views
11

Jak zezwolić na niestandardowe (html5 dane- *) atrybuty w HtmlPurifier?Niestandardowe atrybuty htmlpurifier

Wejście:

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

prowadzi do błędu:

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

opcje HTMLPurifier są ustawione na:

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

Jeśli chcesz poprawić swoje pytanie, możesz je edytować. Jeśli masz odpowiedź ... możesz ją opublikować –

Odpowiedz

18

HTML oczyszczacz definiuje macierz atrybutów, które są standardem zgodny i narzeka, gdy spróbujesz użyć atrybutu, który nie jest zdefiniowany w tej macierzy. Jednakże, można dodać nowe atrybuty do definicji domyślnej używając HTMLDefinition function :: addAttribute() następująco:

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

Zobacz definicję HTMLDefinition::addAttribute więcej szczegółów. 'Text' tutaj jest typ atrybutu, można znaleźć domyślny typ atrybutu z AttrTypes.php

Powiązane problemy