Skip to content
Snippets Groups Projects

#3498774 Explicitly cast $value to string in StripTagsFilter plugin.

Files
4
@@ -9,6 +9,7 @@ use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\TypedData\DataDefinition;
use Drupal\Core\TypedData\DataDefinitionInterface;
use Drupal\Core\TypedData\Type\StringInterface;
use Drupal\text\TextProcessed;
use Drupal\typed_data\Attribute\DataFilter;
use Drupal\typed_data\DataFilterBase;
@@ -30,14 +31,15 @@ class StripTagsFilter extends DataFilterBase {
* {@inheritdoc}
*/
public function filter(DataDefinitionInterface $definition, $value, array $arguments, ?BubbleableMetadata $bubbleable_metadata = NULL) {
return strip_tags($value);
return strip_tags((string) $value);
}
/**
* {@inheritdoc}
*/
public function canFilter(DataDefinitionInterface $definition): bool {
return is_subclass_of($definition->getClass(), StringInterface::class);
return is_subclass_of($definition->getClass(), StringInterface::class)
|| is_a($definition->getClass(), TextProcessed::class, TRUE);
}
/**
Loading