2010-09-09 05:14:17 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* Emulation layer for code that used kses(), substituting in HTML Purifier.
|
|
|
|
*/
|
|
|
|
|
|
|
|
require_once dirname(__FILE__) . '/HTMLPurifier.auto.php';
|
|
|
|
|
2016-02-09 11:06:17 +01:00
|
|
|
function kses($string, $allowed_html, $allowed_protocols = null)
|
|
|
|
{
|
2010-09-09 05:14:17 +02:00
|
|
|
$config = HTMLPurifier_Config::createDefault();
|
|
|
|
$allowed_elements = array();
|
|
|
|
$allowed_attributes = array();
|
|
|
|
foreach ($allowed_html as $element => $attributes) {
|
|
|
|
$allowed_elements[$element] = true;
|
|
|
|
foreach ($attributes as $attribute => $x) {
|
|
|
|
$allowed_attributes["$element.$attribute"] = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$config->set('HTML.AllowedElements', $allowed_elements);
|
|
|
|
$config->set('HTML.AllowedAttributes', $allowed_attributes);
|
|
|
|
if ($allowed_protocols !== null) {
|
|
|
|
$config->set('URI.AllowedSchemes', $allowed_protocols);
|
|
|
|
}
|
|
|
|
$purifier = new HTMLPurifier($config);
|
|
|
|
return $purifier->purify($string);
|
|
|
|
}
|
|
|
|
|
|
|
|
// vim: et sw=4 sts=4
|