RTE - nach speichern komische Tags im Text

  • subnoodle subnoodle
    R2-D2
    0 x
    75 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2007, 00:45

    Hi,

    ich habe das Problem beim Einfügen von Text aus Word oder OO.
    Zuerst, nach dem Einfügen, scheint alles OK zu sein.
    Klickt man dann auf Speichern, tut er das, aber die SPAN und die FONT-Tags werde als Text mitangezeigt:

    [HTML]Begriffsklärungen<//span><//font>

    1st level support: Unterstützung für Endbenutzer; in diesem Falle<//font> sind dies<//span> die einzelnen Mitglieder der Initiativen<//span><//font>[/HTML]

    Die <//font> und <//span>-Tags sind natürlich Quatsch und stören sehr!
    Ich habe gesucht und gesucht, ich finde den Fehler im RTE nicht; es betrifft übrigens bloß IE; FF geht gut.

    Hier noch ein anderer Link zum Problem:
    http://www.typo3.net/forum/list/list_post//39948/?page=14#pid214320
    Leider ungelöst.

    Hier mein RTE-Page-Config.

    Viele Grüße! Sam

    [TS]## RTE Konfiguration
    RTE.default {
    # Zuweisung der CSS-Datei
    contentCSS = fileadmin/templates/basic.css

    ## Markup options
    enableWordClean = 1
    removeTrailingBR = 1
    removeComments = 1
    removeTags = center, sdfield
    removeTagsAndContents = style,script

    # Buttons die gezeigt/versteckt werden
    showButtons = bold, italic, underline, left, center, right, orderedlist, unorderedlist, insertcharacter, line, link, removeformat, table, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge, findreplace, insertcharacter, undo, redo, showhelp, about, chMode
    hideButtons = textstyle, textstylelabel, blockstyle, blockstylelabel, fontstyle, formatblock, fontsize, strikethrough,lefttoright, righttoleft, textcolor, bgcolor, textindicator, emoticon, user, spellcheck, inserttag, outdent, indent, justifyfull, subscript, superscript, acronym, copy, cut, paste, image, toggleborders

    # Hält die RTE Icons gegroupt zusammen
    keepButtonGroupTogether = 1

    # blendet Statusbar in htmlarea aus
    showStatusBar = 0

    ## Add styles Left, center and right alignment of text in paragraphs and cells.
    inlineStyle.text-alignment (
    p.align-left, h1.align-left, h2.align-left, h3.align-left, h4.align-left, h5.align-left, h6.align-left, td.align-left { text-align: left; }
    p.align-center, h1.align-center, h2.align-center, h3.align-center, h4.align-center, h5.align-center, h6.align-center, td.align-center { text-align: center; }
    p.align-right, h1.align-right, h2.align-right, h3.align-right, h4.align-right, h5.align-right, h6.align-right, td.align-right { text-align: right; }
    )

    ## Use stylesheet file rather than the above mainStyleOverride and inlineStyle properties to style the contents (htmlArea RTE only)
    ignoreMainStyleOverride = 1

    proc {
    # tags die erlaubt / verboten sind
    allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, ul, ol, li, re, blockquote, strong, em, b, i, u, sub, sup, strike, a, img, nobr, hr, tt, q, cite, abbr, acronym, center
    denyTags = font, span, img, h1, h2, h3, h4, h5, h6

    # br wird nicht zu p konvertiert
    dontConvBRtoParagraph = 1

    # tags sind erlaubt außerhalt von p, div
    allowTagsOutside = img,hr,table

    # erlaubte attribute in p, div tags
    keepPDIVattribs = align,class,style,id

    # List all class selectors that are allowed on the way to the database
    allowedClasses (
    external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail,
    align-left, align-center, align-right, author
    )

    # html parser einstellungen
    HTMLparser_rte {

    # tags die erlaubt/verboten sind
    allowTags < RTE.default.proc.allowTags
    denyTags < RTE.default.proc.denyTags

    # tags die untersagt sind
    removeTags = font, span, img, h1, h2, h3, h4, h5, h6

    # entfernt html-kommentare
    removeComments = 1

    # tags die nicht übereinstimmen werden nicht entfernt (protect / 1 / 0)
    keepNonMatchedTags = 0

    rmTagIfNoAttrib = span, div, font, p
    }

    # Content to database
    entryHTMLparser_db = 1
    entryHTMLparser_db {
    # removeTags=font, o:p, sdfield, strike
    removeTags = font, font (full), span, img, h1, h2, h3, h4, h5, h6
    # tags die erlaubt/verboten sind
    allowTags < RTE.default.proc.allowTags
    denyTags < RTE.default.proc.denyTags

    # CLEAN TAGS
    noAttrib = table, b, i, u, strike, sub, sup, strong, em, quote, blockquote, cite, tt, br, center

    rmTagIfNoAttrib = span, div, font, p

    # htmlSpecialChars = 1

    hideTags = span, font, font (full);

    ## align attribute werden erlaubt
    tags {
    p.fixAttrib.align.unset >
    p.allowedAttribs = class,style,align

    div.fixAttrib.align.unset >

    hr.allowedAttribs = class

    # b und i tags werden ersetzt (em / strong)
    b.remap = strong
    i.remap = em

    ## img tags werden erlaubt
    img >
    }
    }

    }

    # Classes: Ausrichtung
    classesParagraph (
    align-left, align-center, align-right
    )

    # Classes: Eigene Stile
    classesCharacter = author
    classesImage= rte_image

    # Classes für Links (These classes should also be in the list of allowedClasses)
    classesAnchor = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail
    classesAnchor.default {
    page = internal-link
    url = external-link-new-window
    file = download
    mail = mail
    }

    # zeigt alle CSS-Klassen die in formate.css vorhanden sind
    showTagFreeClasses = 1

    # Do not allow insertion of the following tags
    hideTags = font, font (full)

    # Tabellen Optionen in der RTE Toolbar
    hideTableOperationsInToolbar = 0
    keepToggleBordersInToolbar = 1

    # Tabellen Editierungs-Optionen (cellspacing/ cellpadding / border)
    disableSpacingFieldsetInTableOperations = 1
    disableAlignmentFieldsetInTableOperations=0
    disableColorFieldsetInTableOperations=0
    disableLayoutFieldsetInTableOperations=1
    disableBordersFieldsetInTableOperations=0
    }

    # Use same processing as on entry to database to clean content pasted into the editor
    RTE.default.enableWordClean.HTMLparser < RTE.default.proc.entryHTMLparser_db

    # FE RTE configuration (htmlArea RTE only)
    RTE.default.FE < RTE.default
    RTE.default.FE.userElements >
    RTE.default.FE.userLinks >

    # Breite des RTE in Fullscreen-Ansicht
    TCEFORM.tt_content.bodytext.RTEfullScreenWidth= 80%[/TS]


  • 1
  • johanness johanness
    Jedi-Ratsmitglied
    0 x
    916 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2007, 09:14

    Das ist definitiv eine Konfigurationssache im Seiten TSConfig. Ich hatte das auch mal, aber finde die richtige Stelle gerade nicht mehr.
    Es war so: Der html font-Tag wird berboten, aber man muss noch den mit / dahinter verbieten, oder so ähnlich.
    vielleicht findest du in die Richtung mehr?

  • subnoodle subnoodle
    R2-D2
    0 x
    75 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2007, 17:13

    Hallo Johanness,
    wärst Du bereit, mir Deine RTE-Config zu posten?
    Dann könnte ich das abgleichen.
    Es gibt so Einträge wie 'font (full)'
    Ist aber nicht dokumentiert - keine Ahnung, was das macht.

    Danke!
    Grüße Sam

  • uschi uschi
    R2-D2
    0 x
    60 Beiträge
    0 Hilfreiche Beiträge
    10. 04. 2007, 11:56

    hat unterdessen jemand die Lösung gefunden? ich habe das gleiche Problem und wäre froh um eine Antwort #paralyzed#

  • fwap fwap
    Padawan
    0 x
    45 Beiträge
    0 Hilfreiche Beiträge
    17. 04. 2007, 19:40

    hi,

    bei mir scheint es zu funktionieren, wenn ich unter
    [TS]proc.entryHTMLparser_db {
    rmTagIfNoAttrib = span, div, font, p
    }
    [/TS]
    das span entferne. aber erstmal morgen abwarten, wenn die redakteure wieder fleissig artikel pflegen... #paralyzed#

    mfg,
    fwap

  • sunfish sunfish
    Padawan
    0 x
    53 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2007, 21:32

    Hi,
    mit 'nesting' funktioniert das Entfernen von Tags ohne Attribut fehlerfrei. Andernfalls bleiben häufig, wie in diesem Thread beschrieben, die End-Tags stehen. Da ist wohl ein kleiner Wurm in der function HTMLcleaner().

    PAGE TSCONFIG:
    [TS]RTE.default.proc.entryHTMLparser_db {
    tags{
    span.allowedAttribs = class
    span.fixAttrib.style.unset = 1
    span.nesting = 1
    span.rmTagIfNoAttrib = 1
    }
    removeTags = font
    }[/TS]

    nesting: If set true, then this tag must have starting and ending tags in the correct order. Any tags not in this order will be discarded. Thus '</B><B><I></B></I></B>' will be converted to '<B><I></B></I>'.

    removeTags: Ist in der 'class t3lib_parsehtml' einfacher gehalten und funktioniert problemlos.

    Will man aber eigene span-Klassen definieren können, bleibt nur die Möglichkeit bei <span style="..."> das style und dann die <span>-Tags, die kein Attribut haben, zu entfernen.

    Vielleicht hilft dieser Tipp weiter...
    sunfish

  • 1