HTMLPurifier — Редактирование целевых тегов

Я хочу добавить атрибут target="_blank" для всех элементов A или изменить значение на "_blank", если оно отличается. Возможно ли это с помощью HTMLPurifier? Я не мог найти никакой информации или документации об этом в Интернете. Например;

Вход

<a href="some_url">Link 1</a> 
<a href="some_url" target="_self">Link 2</a>
<a href="some_url" target="_blank">Link 3</a> 

Текущий выход

<a href="some_url">Link 1</a> 
<a href="some_url">Link 2</a> 
<a href="some_url" target="_blank">Link 3</a> 

Желаемый результат

<a href="some_url" target="_blank">Link 1</a> 
<a href="some_url" target="_blank">Link 2</a>
<a href="some_url" target="_blank">Link 3</a>  

Текущие конфигурации

$config = \HTMLPurifier_Config::createDefault();

$config->set('HTML.Allowed', 'a[href|target]');
$config->set('Attr.AllowedFrameTargets', array('_blank'));

Я не спрашиваю: «Как я могу разрешить пользовательские теги?». Проблема заключается в том, «Могу ли я манипулировать значением атрибута с помощью HTMLPurifier, если значение отличается от _blank?».


person hllktlhndd    schedule 29.10.2018    source источник
comment
Возможный дубликат htmlнастраиваемых атрибутов очистителя   -  person Mohammad    schedule 29.10.2018
comment
нет, целевые теги разрешены в моих конфигурациях, но htmlpurifier полностью удаляет тег, если значение отличается от предопределенного значения. Мне это не нравится. Я ищу изменение значения атрибута или добавление атрибута, если он не существует   -  person hllktlhndd    schedule 29.10.2018
comment
Вы рассматривали HTML.TargetBlank? Это только для исходящих ссылок, а в остальном то, что вы ищете. Если этого недостаточно, вы можете посмотреть stackoverflow.com/q/2638640/245790. о добавлении (или перезаписи) target="_blank".   -  person pinkgothic    schedule 10.11.2018