mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-10 07:38:41 +00:00
43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
|
|
||
|
Loose versus Strict
|
||
|
Changes from one doctype to another
|
||
|
|
||
|
There are changes. Wow, how insightful. Not everything changed is relevant
|
||
|
to HTML Purifier, though, so let's take a look:
|
||
|
|
||
|
== Major incompatibilities ==
|
||
|
|
||
|
BLOCKQUOTE changes from 'flow' to 'block'
|
||
|
behavior: inline inner contents should not be nuked, paragraph as necessary
|
||
|
U, S, STRIKE cut
|
||
|
behavior: replace with appropriate inline span + CSS
|
||
|
ADDRESS from potpourri to Inline (removes p tags)
|
||
|
behavior: p tags silently dropped or replaced with something
|
||
|
|
||
|
== Things we can loosen up ==
|
||
|
|
||
|
Tags DIR, MENU, CENTER, ISINDEX, FONT, BASEFONT? allowed in loose
|
||
|
Attributes allowed in loose:
|
||
|
div,p,h#.align
|
||
|
ul,ol.type
|
||
|
ul,ol,dl.compact
|
||
|
ol.start
|
||
|
li.type,value
|
||
|
hr.align,noshade,size,width
|
||
|
pre.width
|
||
|
img.name?,align,border,hspace,vspace
|
||
|
table.align,bgcolor
|
||
|
caption.align
|
||
|
tr.bgcolor
|
||
|
th,td.nowrap,bgcolor,width,height
|
||
|
|
||
|
== Periphery issues ==
|
||
|
|
||
|
A tag's attribute 'target' (for selecting frames) cut
|
||
|
behavior: shouldn't be needed, use loose doctype if needed
|
||
|
OL/LI tag's attribute 'start' (for renumbering lists) cut
|
||
|
behavior: no substitute, just delete
|
||
|
Attribute 'name' deprecated in favor of 'id'
|
||
|
behavior: create proper AttrTransform
|
||
|
PRE tag allows SUB/SUP? (strict dtd comment vs syntax, loose disallows)
|