Основываясь на ответе reverbnation , я понял, что по какой-то причине строка
$def->addAttribute('iframe', 'allowfullscreen', 'Bool');
не работал правильно и вместо
allowfullscreen="allowfullscreen"
HTMLPurifier выводил
allowfullscreen=""
Хотя в документации говорится, что Bool - Boolean attribute, with only one valid value: the name of the attribute
, я попытался использовать Enum
вместо:
$def->addAttribute('iframe', 'allowfullscreen', 'Enum#allowfullscreen');
Третий параметр означает, что атрибут allowfullscreen
будет иметь только правильное значение - allowfullscreen
, все остальное будет игнорироваться. Таким образом, у нас такое же поведение, как и с Bool
. К счастью, у меня это сработало.
Возможно, это решение кому-нибудь поможет.