protected function getWyswigAllowedTags()
    {
        $allowedBecauseWysiwyg = [
            'div', 'p', 'br',  'pre', 'a',
            'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
            'li', 'ul', 'ol',
            'strong', 'em', 'i', 'b',
        ];

        if ($this->isWysiwygEnabled('images')) {
            $allowedBecauseWysiwyg[] = 'img';
        }
        if ($this->isWysiwygEnabled('tables')) {
            $allowedBecauseWysiwyg = array_merge(
                $allowedBecauseWysiwyg,
                ['table', 'tbody', 'thead', 'tfoot', 'th', 'td', 'tr']
            );
        }
        if ($this->isWysiwygEnabled('fontcolor')) {
            $allowedBecauseWysiwyg[] = 'span';
        }
        if ($this->isWysiwygEnabled('subsuper')) {
            $allowedBecauseWysiwyg = array_merge(
                $allowedBecauseWysiwyg,
                ['sub', 'sup']
            );
        }
        if ($this->isWysiwygEnabled('underline')) {
            $allowedBecauseWysiwyg[] = 'u';
        }
        if ($this->isWysiwygEnabled('embed')) {
            // Note: Only <iframe>. Not <script>, <embed> or <object>.
            $allowedBecauseWysiwyg[] = 'iframe';
            // We also need to add a few attributes as well.
            $this->setAllowedAttributes(array_unique(array_merge(
                    $this->getAllowedAttributes(),
                    ['src', 'width', 'height', 'frameborder', 'allowfullscreen', 'scrolling']))
            );
        }
        if ($this->isWysiwygEnabled('ruler')) {
            $allowedBecauseWysiwyg[] = 'hr';
        }
        if ($this->isWysiwygEnabled('strike')) {
            $allowedBecauseWysiwyg[] = 's';
        }
        if ($this->isWysiwygEnabled('blockquote')) {
            $allowedBecauseWysiwyg[] = 'blockquote';
        }
        if ($this->isWysiwygEnabled('codesnippet')) {
            $allowedBecauseWysiwyg = array_merge(
                $allowedBecauseWysiwyg,
                ['code', 'pre', 'tt']
            );
        }

        return array_unique(array_merge($this->getAllowedTags(), $allowedBecauseWysiwyg));
    }
protected function getWyswigAllowedTags()
    {
        $allowedBecauseWysiwyg = [
            'div', 'p', 'br',  'pre', 'a',
            'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
            'li', 'ul', 'ol',
            'strong', 'em', 'i', 'b',
        ];

        if ($this->isWysiwygEnabled('images')) {
            $allowedBecauseWysiwyg[] = 'img';
        }
        if ($this->isWysiwygEnabled('tables')) {
            $allowedBecauseWysiwyg = array_merge(
                $allowedBecauseWysiwyg,
                ['table', 'tbody', 'thead', 'tfoot', 'th', 'td', 'tr']
            );
        }
        if ($this->isWysiwygEnabled('fontcolor')) {
            $allowedBecauseWysiwyg[] = 'span';
        }
        if ($this->isWysiwygEnabled('subsuper')) {
            $allowedBecauseWysiwyg = array_merge(
                $allowedBecauseWysiwyg,
                ['sub', 'sup']
            );
        }
        if ($this->isWysiwygEnabled('underline')) {
            $allowedBecauseWysiwyg[] = 'u';
        }
        if ($this->isWysiwygEnabled('embed')) {
            // Note: Only <iframe>. Not <script>, <embed> or <object>.
            $allowedBecauseWysiwyg[] = 'iframe';
            // We also need to add a few attributes as well.
            $this->setAllowedAttributes(array_unique(array_merge(
                    $this->getAllowedAttributes(),
                    ['src', 'width', 'height', 'frameborder', 'allowfullscreen', 'scrolling']))
            );
        }
        if ($this->isWysiwygEnabled('ruler')) {
            $allowedBecauseWysiwyg[] = 'hr';
        }
        if ($this->isWysiwygEnabled('strike')) {
            $allowedBecauseWysiwyg[] = 's';
        }
        if ($this->isWysiwygEnabled('blockquote')) {
            $allowedBecauseWysiwyg[] = 'blockquote';
        }
        if ($this->isWysiwygEnabled('codesnippet')) {
            $allowedBecauseWysiwyg = array_merge(
                $allowedBecauseWysiwyg,
                ['code', 'pre', 'tt']
            );
        }

        return array_unique(array_merge($this->getAllowedTags(), $allowedBecauseWysiwyg));
    }
protected function getWyswigAllowedTags ( ) { $ allowedBecauseWysiwyg = [ 'div' , 'p' , 'br' , 'pre' , 'a' , 'h1' , 'h2' , 'h3' , 'h4' , 'h5' , 'h6' , 'li' , 'ul' , 'ol' , 'strong' , 'em' , 'i' , 'b' , ] ; if ( $ this -> isWysiwygEnabled ( 'images' ) ) { $ allowedBecauseWysiwyg [ ] = 'img' ; } if ( $ this -> isWysiwygEnabled ( 'tables' ) ) { $ allowedBecauseWysiwyg = array_merge ( $ allowedBecauseWysiwyg , [ 'table' , 'tbody' , 'thead' , 'tfoot' , 'th' , 'td' , 'tr' ] ) ; } if ( $ this -> isWysiwygEnabled ( 'fontcolor' ) ) { $ allowedBecauseWysiwyg [ ] = 'span' ; } if ( $ this -> isWysiwygEnabled ( 'subsuper' ) ) { $ allowedBecauseWysiwyg = array_merge ( $ allowedBecauseWysiwyg , [ 'sub' , 'sup' ] ) ; } if ( $ this -> isWysiwygEnabled ( 'underline' ) ) { $ allowedBecauseWysiwyg [ ] = 'u' ; } if ( $ this -> isWysiwygEnabled ( 'embed' ) ) { // Note: Only <iframe>. Not <script>, <embed> or <object>. $ allowedBecauseWysiwyg [ ] = 'iframe' ; // We also need to add a few attributes as well. $ this -> setAllowedAttributes ( array_unique ( array_merge ( $ this -> getAllowedAttributes ( ) , [ 'src' , 'width' , 'height' , 'frameborder' , 'allowfullscreen' , 'scrolling' ] ) ) ) ; } if ( $ this -> isWysiwygEnabled ( 'ruler' ) ) { $ allowedBecauseWysiwyg [ ] = 'hr' ; } if ( $ this -> isWysiwygEnabled ( 'strike' ) ) { $ allowedBecauseWysiwyg [ ] = 's' ; } if ( $ this -> isWysiwygEnabled ( 'blockquote' ) ) { $ allowedBecauseWysiwyg [ ] = 'blockquote' ; } if ( $ this -> isWysiwygEnabled ( 'codesnippet' ) ) { $ allowedBecauseWysiwyg = array_merge ( $ allowedBecauseWysiwyg , [ 'code' , 'pre' , 'tt' ] ) ; } return array_unique ( array_merge ( $ this -> getAllowedTags ( ) , $ allowedBecauseWysiwyg ) ) ; }
Return a list of allowed tags needed for WYSIWYG field types.

For HTML fields we want to override a few tags, e.g, it makes
no sense to disallow `<iframe>` if we have `embed: true` in
config.yml.

@return array
Return a list of allowed tags needed for WYSIWYG field types .