Я искал в документации (часть конфигурации) и в Google, я не могу найти, как это сделать:
Я делаю простой wysiwig, где пользователи могут вставлять HTML в текстовую область
Я думал, что HtmlPurifier очистит его, но на самом деле он уничтожает все, что делает html непригодным, акценты также заменяются, что не удобно для редакций
можно ли отключить замену акцентов на & ...;то же самое для HTML, я хочу, чтобы он оставался действительным
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$data=$purifier->purify($data);
спасибо
[править]
нашел это:
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.DefinitionID', 'enduser-customize.html tutorial');
$config->set('HTML.DefinitionRev', 1);
$config->set('Cache.DefinitionImpl', null); // remove this later!
$def = $config->getHTMLDefinition(true);
$def->addAttribute('a', 'target', new HTMLPurifier_AttrDef_Enum(
array('_blank','_self','_target','_top')
));
$form = $def->addElement(
'form', // name
'Block', // content set
'Flow', // allowed children
'Common', // attribute collection
array( // attributes
'action*' => 'URI',
'method' => 'Enum#get|post',
'name' => 'ID'
)
);
$form->excludes = array('form' => true);
- как включить все теги, я не собираюсь делать это вручную, это бессмысленно
- что мне делать с переменной $ form?
спасибо