HTML Purifier

Wichtiger Hinweis: Drupal 6: Update auf HTML Purifier 6.x-2.3 NICHT empfohlen

HTML Purifier ist eine Filter Bibliothek (geschrieben in PHP), die den eingegeben Code gemäss den HTML-Standards aufbereitet. Diese Bibliothek kann in Drupal integriert werden. Dazu müssen 2 Packete installiert werden.

Installation

Installiert werden müssen das Drupal Modul HTML-Purifier und die Bibliothek HTML-Purifier (Download hier) an sich.

  1. Das Modul wird in den Ordner /sites/all/modules/ kopiert.
  2. Der Inhalt der Bibliothek wird in den Ordner /sites/all/modules/htmlpurifier kopiert.
  3. In Verwalten > Strukturierung > Module  = /admin/build/modules wird das Modul aktiviert.
  4. In Verwalten > Einstellungen > Eingabeformat = /admin/settings/filters kann der Filter zu einem neuen oder einem bestehenden Format zugefügt werden. Unter Umständen muss der Filter an den Schluss gesetzt werden.

Konfiguration HTML Purifier (advanced)

Der Filter muss nun noch konfigurert werden, nachdem er bspw. dem Eingabeformat "Filtered HTML" zugefügt worden ist. Anschliessend die Einstellungen, die sich von der Grundeinstellung unterscheiden:

Aktivieren von HTML Purifier (advanced) in /admin/settings/filters/1/edit

Konfigurieren des HTML Purifier (advanced) in /admin/settings/filters/1/configure

Die erlaubten Attribute könnten auch gleich in den erlaubten Tags (Allowed) in der Form a[href|name|rev|title|target|rel] eingegeben werden, doch scheint das nicht immer zu funktionieren. Darum ist es besser, die Liste (Zeile für Zeile) in AllowedAttributes einzugeben:

  1. AutoFormat: Autoparagraph: no
  2. AutoFormat: Linkify: yes (oder no, je nach Wunsch. Bei Verwendung kann auf den Drupal internen URL-Filter verzichtet werden.)
  3. a.name aktivieren: Soll für den Tag <a> das Attribut "name" für Anchors (Anker) funktionieren, muss EnableID auf yes gesetzt werden. Ist das nicht gesetzt, filtert HTML Purifier das Attribut heraus, auch wenn es bei Allowed Attributes explizit erlaubt wird.
  4. Attr: Ob bei Links das Target-Argument angegeben werden kann (<a href="http://www.inetcom.ch/foo" target="_blank">…</a>)
    • AllowedFrameTargets:
      _blank
      _self 
      _parent 
      _top
  5. HTML: (Entweder wird in HTML: Allowed die kombinierte Version eingegeben oder nur die Tags, dann muss auch Allowed Attributes definiert werden)
  • HTML: Allowed (nur Tags)

a, abbr, acronym, b, blockquote, br, caption, cite, code, dd, del, dfn, div,
dl, dt, em, font, h1, h2, h3, h4, h5, h6, i, img, ins, kbd, li, ol, p, pre,
s, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr,
tt, u, ul, var
  • HTML: Allowed (Tags und Attribute)

a[name|href|rev|title|target|rel|id], abbr[title], acronym[title], 
b, blockquote[cite], br, caption, cite, code, dd, del, dfn, 
div[align|style|class|id], dl, dt, em, font[size|color], h1[style|class], 
h2[style|class], h3[style|class], h4[style|class], h5[style|class], 
h6[style|class],hr[size|noshade],i,img[src|alt|title|class|align|style|height|width], 
ins, kbd, li, ol[class|style],  p[align|class|style], pre, s, span[style|class|id], 
strike, strong, sub, sup, 
table[align|class|id|border|bgcolor|cellpadding|cellspacing|style|width], 
tbody, td[abbr|align|bgcolor|class|id|colspan|rowspan|style|valign|align], 
tfoot, th[abbr|align|class|id|colspan|rowspan|style|valign], thead, 
tr[bgcolor|class|id|style|valign], tt, u, ul[class|style], var
  • HTML: AllowedAttributes (bei Verwendung reiner Tags oben)
a.name
a.href
a.rev
a.title
a.target
a.rel
abbr.title
acronym.title
blockquote.cite
div.align
div.style
div.class
div.id
font.size
font.color
h1.style
h2.style
h3.style
h4.style
h5.style
h6.style
img.src
img.alt
img.title
img.class
img.align
img.style
img.height
img.width
ol.style
p.class
p.style
span.style
span.class
span.id
table.align
table.class
table.id
table.border
table.cellpadding
table.cellspacing
table.style
table.width
td.abbr
td.align
td.class
td.id
td.colspan
td.rowspan
td.style
td.valign
tr.align
tr.class
tr.id
tr.style
tr.valign
th.abbr
th.align
th.class
th.id
th.colspan
th.rowspan
th.style
th.valign
ul.style