Фильтрующие элементы HTML-очистителя - PullRequest
1 голос
/ 13 ноября 2011

Я хотел бы убедиться, что мой очиститель HTML удаляет все элементы, кроме этих:

br, a, img, div, embed, object, u, em, ul, ol, li, strong, span

у этих элементов будет много атрибутов.

Что я могу сделать?

Я подумал использовать strip_tags, прежде чем идти в очиститель.

Мой код:

    $config = HTMLPurifier_Config::createDefault();
    $config->set('Attr.AllowedFrameTargets', array('_blank'));
    $config->set('HTML.SafeObject', true);
    $config->set('Output.FlashCompat', true);
    $config->set('HTML.SafeEmbed', true);

    $purifier = new HTMLPurifier($config);

1 Ответ

2 голосов
/ 13 ноября 2011

Вы можете сделать это:

$ValidTags = '*[id|class|name],br,a[href|title|rel|target],' .
'img[src|alt|height|width],div,embed,' .
'object,u,em,ul,ol,li,strong,span';
$config->set('HTML.Allowed', $ValidTags);

Примечание : *[id|class|name] означает, что вы разрешаете для всех принятых тегов атрибуты id, class и name (которые обычно полезны).

...