TestAttributeFilter.php in Drupal 10
File
core/modules/ckeditor/tests/modules/src/Plugin/Filter/TestAttributeFilter.php
View source
<?php
namespace Drupal\ckeditor_test\Plugin\Filter;
use Drupal\Component\Utility\Html;
use Drupal\filter\FilterProcessResult;
use Drupal\filter\Plugin\FilterBase;
class TestAttributeFilter extends FilterBase {
public function process($text, $langcode) {
$document = Html::load($text);
foreach ($this->settings['tags'] as $tag) {
$tag_elements = $document
->getElementsByTagName($tag);
foreach ($tag_elements as $tag_element) {
$tag_element
->setAttribute('test_attribute', 'test attribute value');
}
}
return new FilterProcessResult(Html::serialize($document));
}
}