public
Description: Code from tagging.ning.com
Homepage: http://tagging.ning.com
Clone URL: git://github.com/singpolyma/tagging.git
tagging / removeEvils.php
100755 16 lines (14 sloc) 0.766 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
    function removeEvilTags($source) {
        // Code by tREXX [www.trexx.ch], "strip_tags", http://ca3.php.net/manual/en/function.strip-tags.php
        // [Jon Aquino 2005-10-28]
        $allowedTags = '<a><br><b><h1><h2><h3><h4><i><img><li><ol><p><strong><table><tr><td><th><u><ul>';
        $source = strip_tags($source, $allowedTags);
        return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source);
    }
    function removeEvilAttributes($tagSource) {
        $stripAttrib = 'javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|'.
              'onmousemove|onmouseout|onkeypress|onkeydown|onkeyup';
        return stripslashes(preg_replace("/$stripAttrib/i", 'forbidden', $tagSource));
    }
 
?>