Это особая комбинация тегов, которую я хочу разрешить в HTMLPurifier, но не могу заставить эту комбинацию работать.
Я могу заставить работать скриптовые теги, но затем вставлять тегиудалить (я включаю теги сценария с HTML.Trusted = true).Когда я возвращаю теги для вставки, теги скрипта удаляются (я удаляю HTML.Trusted).Вот мой конфиг:
$config->set('HTML.Trusted', true);
$config->set('HTML.SafeEmbed', true);
$config->set('HTML.SafeObject', true);
$config->set('Output.FlashCompat', true);
Я даже попытался добавить следующее, что ухудшило ситуацию:
$config->set('HTML.Allowed', 'object[width|height|data],param[name|value],embed[src|type|allowscriptaccess|allowfullscreen|width|height],script[src|type]');
Кроме того, я не могу заставить работать фреймы независимо от того,какие.Я попытался добавить:
$config->set('HTML.DefinitionID', 'enduser-customize.html iframe');
$config->set('HTML.DefinitionRev', 1);
$config->set('Cache.DefinitionImpl', null); // remove this later!
$def = $config->getHTMLDefinition(true);
$iframe = $def->addElement(
'iframe', // name
'Block', // content set
'Empty', // allowed children
'Common', // attribute collection
array( // attributes
'src*' => 'URI#embedded',
'width' => 'Pixels#1000',
'height' => 'Pixels#1000',
'frameborder=' => 'Number',
'name' => 'ID',
)
);
$iframe->excludes = array('iframe' => true);
Любая помощь в работе всего комбо или даже теги сценариев с объектом / параметром и встраиванием будет с благодарностью принята !!!
О да, этоочевидно, не для всех пользователей, просто «специальные» пользователи.
Спасибо!
PS - пожалуйста, не связывайте меня с http://htmlpurifier.org/docs/enduser-customize.html
ОБНОВЛЕНИЕ
Я нашел решение для добавления iframes в нижней части потока здесь: http://htmlpurifier.org/phorum/read.php?3,4646
Текущая конфигурация теперь:
$config->set('HTML.Trusted', true);
$config->set('HTML.SafeEmbed', true);
$config->set('HTML.SafeObject', true);
$config->set('Output.FlashCompat', true);
$config->set('Filter.Custom', array( new HTMLPurifier_Filter_MyIframe() ));
ОБНОВЛЕНИЕ ОБНОВЛЕНИЯ
Если у вас возникли проблемы с моим комментарием на форуме HTMLPurifier, возможно, это связано с тем, что метод выглядит следующим образом:
public function preFilter($html, $config, $context) {
return preg_replace("/iframe/", "img class=\"MyIframe\" ", preg_replace("/<\/iframe>/", "", $html));
}