mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-23 08:51:53 +00:00
fd384129bf
Prior to this commit, the name attribute was unilaterally removed, except for Strict doctypes or a heavy TidyLevel, when it was converted to an id attribute. As name is actually permitted in both HTML 4.01 Strict and XHTML 1.0 Strict, although deprecated, the more sensible default behavior is to allow it unless TidyLevel is heavy. Our implementation is slightly stricter than the specs, as name attributes are treated as first class IDs, disallowing <a name="foo" id="foo"> or duplicate names. The former should be treated as a special case, but that will be a separate commit. Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
24 lines
648 B
PHP
24 lines
648 B
PHP
<?php
|
|
|
|
/**
|
|
* Name is deprecated, but allowed in strict doctypes, so onl
|
|
*/
|
|
class HTMLPurifier_HTMLModule_Tidy_Name extends HTMLPurifier_HTMLModule_Tidy
|
|
{
|
|
public $name = 'Tidy_Name';
|
|
public $defaultLevel = 'heavy';
|
|
public function makeFixes() {
|
|
|
|
$r = array();
|
|
|
|
// @name for img, a -----------------------------------------------
|
|
// Technically, it's allowed even on strict, so we allow authors to use
|
|
// it. However, it's deprecated in future versions of XHTML.
|
|
$r['img@name'] =
|
|
$r['a@name'] = new HTMLPurifier_AttrTransform_Name();
|
|
|
|
return $r;
|
|
}
|
|
}
|
|
|