spike, came across your question, looking for the same answer...
the whitelist_options routine does some basic deep_slashes but i was looking for a way to strip my saved data from html tags.
the only thing i could come up with was a simple routine to filter the saved options afterwards. let me explain with an example.
after the options get updated, options.php sends the browser back to the referring page with ?updated=true appended to the URL. at the beginning of my options page routine i added a function like this:
$option = get_option('my_plugin_option');
if ( 'true' == $_GET['updated'] ) {
if ($option == "") {
delete_option('my_plugin_option');
echo '<div id="message" class="updated fade"><p><strong>[remove message]</strong></p></div>';
unset ($option); }
elseif ($option != strip_tags($option,'')) {
$option = strip_tags($option,'');
update_option('custom_css',$custom_css);
echo '<div id="warning" class="error fade"><p><strong>[warning message]</strong></p></div>';
}
}
If there is anyone around who can tell me a more elegant way to do this, i would appreciate some pointers very much :)
thanks!