| 
<?php
 /**
 * @file
 * Emulation layer for code that used kses(), substituting in HTML Purifier.
 */
 
 require_once dirname(__FILE__) . '/HTMLPurifier.auto.php';
 
 function kses($string, $allowed_html, $allowed_protocols = null)
 {
 $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
 
 |