3 namespace Drupal\ckeditor_test\Plugin\Filter;
5 use Drupal\Component\Utility\Html;
6 use Drupal\filter\FilterProcessResult;
7 use Drupal\filter\Plugin\FilterBase;
10 * A filter that adds a test attribute to any configured HTML tags.
13 * id = "test_attribute_filter",
14 * title = @Translation("Test Attribute Filter"),
15 * type = Drupal\filter\Plugin\FilterInterface::TYPE_TRANSFORM_REVERSIBLE,
22 class TestAttributeFilter extends FilterBase {
27 public function process($text, $langcode) {
28 $document = Html::load($text);
29 foreach ($this->settings['tags'] as $tag) {
30 $tag_elements = $document->getElementsByTagName($tag);
31 foreach ($tag_elements as $tag_element) {
32 $tag_element->setAttribute('test_attribute', 'test attribute value');
35 return new FilterProcessResult(Html::serialize($document));