function FundamentalCompatibilityConstraintValidator::findHtmlRestrictorFilterNotAllowingTags
Same name in other branches
- 9 core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php \Drupal\ckeditor5\Plugin\Validation\Constraint\FundamentalCompatibilityConstraintValidator::findHtmlRestrictorFilterNotAllowingTags()
- 11.x core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php \Drupal\ckeditor5\Plugin\Validation\Constraint\FundamentalCompatibilityConstraintValidator::findHtmlRestrictorFilterNotAllowingTags()
Analyzes a text format to find the filter not allowing required tags.
Parameters
\Drupal\filter\FilterFormatInterface $text_format: A text format whose filters to check for compatibility.
\Drupal\ckeditor5\HTMLRestrictions $required: A set of HTML restrictions, listing required HTML tags.
Return value
\Drupal\filter\Plugin\FilterInterface The filter plugin instance not allowing the required tags.
Throws
\InvalidArgumentException
1 call to FundamentalCompatibilityConstraintValidator::findHtmlRestrictorFilterNotAllowingTags()
- FundamentalCompatibilityConstraintValidator::checkHtmlRestrictionsAreCompatible in core/
modules/ ckeditor5/ src/ Plugin/ Validation/ Constraint/ FundamentalCompatibilityConstraintValidator.php - Checks that fundamental CKEditor 5 plugins' HTML tags are allowed.
File
-
core/
modules/ ckeditor5/ src/ Plugin/ Validation/ Constraint/ FundamentalCompatibilityConstraintValidator.php, line 289
Class
- FundamentalCompatibilityConstraintValidator
- Validates fundamental compatibility of CKEditor 5 with the given text format.
Namespace
Drupal\ckeditor5\Plugin\Validation\ConstraintCode
private static function findHtmlRestrictorFilterNotAllowingTags(FilterFormatInterface $text_format, HTMLRestrictions $required) : FilterInterface {
// Get HTML restrictor filters that actually restrict HTML.
$filters = static::getFiltersInFormatOfType($text_format, FilterInterface::TYPE_HTML_RESTRICTOR, function (FilterInterface $filter) {
return $filter->getHTMLRestrictions() !== FALSE;
});
foreach ($filters as $filter) {
// Return any filter not allowing >=1 of the required tags.
if (!$required->diff(HTMLRestrictions::fromFilterPluginInstance($filter))
->allowsNothing()) {
return $filter;
}
}
throw new \InvalidArgumentException('This text format does not have a "tags allowed" restriction that excludes the required tags.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.