function cleanInput($input) { '@<script[^>]*?>.*?</script>@si', // Strip out javascript '@<[/!]*?[^<>]*?>@si', // Strip out HTML tags '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly '@<![sS]*?--[ tnr]*>@' // Strip multi-line comments ); return $output; } function sanitize($input) { foreach($input as $var=>$val) { $output[$var] = sanitize($val); } } else { } $input = cleanInput($input); } return $output; } // Usage: $bad_string = "Hi! <script src='http://www.evilsite.com/bad_script.js'></script> It's a good day!"; $good_string = sanitize($bad_string); // $good_string returns "Hi! It's a good day!" // Also use for getting POST/GET variables $_POST = sanitize($_POST); $_GET = sanitize($_GET);