| 1: | <?php | 
| 2: |  | 
| 3: |  | 
| 4: |  | 
| 5: |  | 
| 6: |  | 
| 7: |  | 
| 8: | require_once dirname(__FILE__) . '/HTMLPurifier.auto.php'; | 
| 9: |  | 
| 10: | function kses($string, $allowed_html, $allowed_protocols = null) | 
| 11: | { | 
| 12: | $config = HTMLPurifier_Config::createDefault(); | 
| 13: | $allowed_elements = array(); | 
| 14: | $allowed_attributes = array(); | 
| 15: | foreach ($allowed_html as $element => $attributes) { | 
| 16: | $allowed_elements[$element] = true; | 
| 17: | foreach ($attributes as $attribute => $x) { | 
| 18: | $allowed_attributes["$element.$attribute"] = true; | 
| 19: | } | 
| 20: | } | 
| 21: | $config->set('HTML.AllowedElements', $allowed_elements); | 
| 22: | $config->set('HTML.AllowedAttributes', $allowed_attributes); | 
| 23: | if ($allowed_protocols !== null) { | 
| 24: | $config->set('URI.AllowedSchemes', $allowed_protocols); | 
| 25: | } | 
| 26: | $purifier = new HTMLPurifier($config); | 
| 27: | return $purifier->purify($string); | 
| 28: | } | 
| 29: |  | 
| 30: |  | 
| 31: |  |