HTMLPurifier.
Скачать здесь: http://htmlpurifier.org/
Включить:
include 'path/to/HTMLPurifier.auto.php';
Используйте это:
$config = HTMLPurifier_Config::createDefault();
$config->set('Core', 'Encoding', 'UTF-8');
$config->set('XHTML', 'Doctype', 'XHTML 1.0 Strict');
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify( $dirty_html );
И спите спокойно, зная, что в HTML нет таких XSS-атак, очищенных таким образом.
Люди, предлагающие mysql_real_escape_string (), вероятно, не получили вашего вопроса (или я не получил), вы спрашивали, как отфильтровать разметку HTML из редактора WYSIWYG, чтобы ее можно было безопасно сохранить в базе данных.
mysql_real_escape_string () имеет отношение к защите от внедрения SQL, но лучше подготовленные операторы (Google PDO).