<?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 
 
 |