11namespace Depage\HtmlForm\Elements;
66 parent::setDefaults();
68 $this->defaults[
'rows'] =
null;
69 $this->defaults[
'cols'] =
null;
70 $this->defaults[
'stylesheet'] =
null;
71 $this->defaults[
'autogrow'] =
true;
72 $this->defaults[
'allowedTags'] = [
101 $this->dataAttr[
'richtext-options'] = json_encode($options);
103 return parent::htmlDataAttributes();
116 return empty(trim(strip_tags($this->value)));
126 if ($this->value ===
null) {
127 $htmlDOM = $this->
parseHtml($this->defaultValue);
132 $html = (string) $htmlDOM;
143 if (is_string($this->value)) {
144 $this->value = $this->
parseHtml($this->value);
156 if ($this->normalize && class_exists(
"\\Normalizer")) {
157 $html = \Normalizer::normalize($html);
160 $htmlDOM = new \Depage\HtmlForm\Abstracts\HtmlDom();
162 $htmlDOM->loadHTML($html);
163 $htmlDOM->cleanHTML($this->allowedTags);
165 if ($this->maxlength) {
166 $htmlDOM->cutToMaxlength($this->maxlength);
htmlEscape(array|string $options=[])
Escapes HTML in strings and arrays of strings.
DOMDocument for html-content.
$value
Input elements's value.
parseHtml(string $html)
Parses html-string into htmlDOM.
typeCastValue()
Converts value into htmlDOM.
htmlDataAttributes()
Returns dataAttr escaped as attribute string.
htmlValue()
Returns HTML-rendered element value.
setDefaults()
collects initial values across subclasses
isEmpty()
says wether the element value is empty
Abstract element classes.