ckeditor5 - TYPO3 12 and CKEditor 5 - Remove unwanted attributes and styles from <td> - Stack Overflow

admin2025-04-18  2

Copy text from a heavily formatted MS Word document into a CKEditor field, and most of the tags and attributes are removed upon saving the content element. This is what I want, but some attributes still remain.

One example from a MS Word document containing a table with background colors, customized padding etc. leads to this in TYPO3:

<td style="background-color:yellow;border-bottom:1.0pt solid windowtext;border-left-style:none;border-right:1.0pt solid windowtext;border-top-style:none;height:31.2pt;padding:0cm;width:73.65pt;">

I want the whole style attribute (maybe keep the width) gone in TYPO3, but my config seems to be ignored:

editor:
  config:
    htmlSupport:
      allow:
        - { name: 'p', attributes: false, classes: false, styles: false }
        - { name: 'span', attributes: ['title','lang', 'dir'], classes: false, styles: false }
        - { name: 'abbr', attributes: ['title'], classes: false, styles: false }
        - { name: 'table', attributes: false, classes: true, styles: false }
        - { name: 'th', attributes: ['scope'], classes: true, styles: { 'width': true } }
        - { name: 'td', attributes: ['width'], classes: true, styles: { 'width': true } }

Style attributes are removed from <p> tags, but not from <td>. The "remove format" button doesn't remove the styles, either. Neither does this:

...
        - { name: 'td', attributes: ['width'], classes: true, styles: false }

Any idea how to do this in TYPO3 12? Maybe with additional TypoScript?

Copy text from a heavily formatted MS Word document into a CKEditor field, and most of the tags and attributes are removed upon saving the content element. This is what I want, but some attributes still remain.

One example from a MS Word document containing a table with background colors, customized padding etc. leads to this in TYPO3:

<td style="background-color:yellow;border-bottom:1.0pt solid windowtext;border-left-style:none;border-right:1.0pt solid windowtext;border-top-style:none;height:31.2pt;padding:0cm;width:73.65pt;">

I want the whole style attribute (maybe keep the width) gone in TYPO3, but my config seems to be ignored:

editor:
  config:
    htmlSupport:
      allow:
        - { name: 'p', attributes: false, classes: false, styles: false }
        - { name: 'span', attributes: ['title','lang', 'dir'], classes: false, styles: false }
        - { name: 'abbr', attributes: ['title'], classes: false, styles: false }
        - { name: 'table', attributes: false, classes: true, styles: false }
        - { name: 'th', attributes: ['scope'], classes: true, styles: { 'width': true } }
        - { name: 'td', attributes: ['width'], classes: true, styles: { 'width': true } }

Style attributes are removed from <p> tags, but not from <td>. The "remove format" button doesn't remove the styles, either. Neither does this:

...
        - { name: 'td', attributes: ['width'], classes: true, styles: false }

Any idea how to do this in TYPO3 12? Maybe with additional TypoScript?

Share asked Jan 30 at 12:24 seirermanseirerman 256 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

You can achieve this in your custom RTE yaml configuration.

Take this as an example:

processing:
  entryHTMLparser_db:
    tags:
      table:
        allowedAttribs: "none"
      tbody:
        allowedAttribs: "none"
      tr:
        allowedAttribs: "none"
      td:
        allowedAttribs: "none"
    keepNonMatchedTags: true

The parser allows you to strip certain attributes from tags. See the official documentation: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Htmlparser.html#htmlparser

After saving the record, the styles are removed before they are written in the database.

转载请注明原文地址:http://anycun.com/QandA/1744919716a89486.html