HTMLPurifier defangs arbitrary submitted HTML. We're using it in the OStatus plugin, but it may be valuable for other parts of the codebase (I think OEmbed might benefit, for example).
24 lines
524 B
PHP
24 lines
524 B
PHP
<?php
|
|
|
|
/**
|
|
* Pre-transform that changes proprietary background attribute to CSS.
|
|
*/
|
|
class HTMLPurifier_AttrTransform_Background extends HTMLPurifier_AttrTransform {
|
|
|
|
public function transform($attr, $config, $context) {
|
|
|
|
if (!isset($attr['background'])) return $attr;
|
|
|
|
$background = $this->confiscateAttr($attr, 'background');
|
|
// some validation should happen here
|
|
|
|
$this->prependCSS($attr, "background-image:url($background);");
|
|
|
|
return $attr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|