HtmlAugmenter
class HtmlAugmenter (View source)
A tool that can augment HTML for example by adding arbitrary attributes.
This is used in order to add meta data arguments to content elements in the Backend.
Usage:
$html = '
// will return '
Traits
Methods
Render the tag attributes for the given key->values as string, if a value is an iterable it will be concatenated with spaces as separator
Adds the given $attributes to the $html by augmenting the root element.
Detects a unique root tag in the given $html string and returns its DOMNode representation - or NULL if no unique root element could be found
Merges the attributes of $element with the given $newAttributes
If an attribute exists in both collections, it is merged to "
Checks whether the given $element contains at least one of the specified $attributes (case insensitive)
Details
protected string
renderAttributes(iterable $attributes, bool $allowEmpty = true)
Render the tag attributes for the given key->values as string, if a value is an iterable it will be concatenated with spaces as separator
addAttributes(string $html, array $attributes, string $fallbackTagName = 'div', array $exclusiveAttributes = null, bool $allowEmptyAttributes = true)
Adds the given $attributes to the $html by augmenting the root element.
Attributes are merged with the existing root element's attributes. If no unique root node can be determined, a wrapping tag is added with all the given attributes. The name of this tag can be specified with $fallbackTagName.
protected DOMNode|null
getHtmlRootElement(string $html)
Detects a unique root tag in the given $html string and returns its DOMNode representation - or NULL if no unique root element could be found
protected void
mergeAttributes(DOMNode $element, array $newAttributes)
Merges the attributes of $element with the given $newAttributes
If an attribute exists in both collections, it is merged to "
protected bool
elementHasAttributes(DOMNode $element, array $attributes = null)
Checks whether the given $element contains at least one of the specified $attributes (case insensitive)