Hi Patabugen,
I had this issue, and I also wanted to be able to add html tags but these were all getting stripped, double escaped or encoded to entities.
My solution involved modifying the code, removing the ‘sanitize_text_field’ and replacing it with ‘mysql_real_escape_string’ (couldn’t find a suitable WP function).
This worked for the html tags, but quotes were being double escaped which means ‘magic_quotes_gpc’ must be on. To fix this run it through ‘stripslashes’ first, and of course you need to strip the slashes out again when it is being printed out. Otherwise you will see the escape.
Code if you (or the developers) are interested:
// Saving to the DB
$contactDetails = array_map('stripslashes', $_POST['contact_details']);
if( update_option('contact_details',array_map('mysql_real_escape_string',$contactDetails)))
echo '<p>Successfully updated your Business Details.</p>';
and..
// Return shortcode
if( $data = get_option( 'contact_details' ) )
return stripslashes($data[$attributes['type']]);
Keep up the great work on the plugin!