WordPress auto formatting is true pain in the ass. I’ve tried so many things and have gone mad cleaning up messy code. I think with 3.2.1 things have gotten worse. I haven’t tried this plugin based on your feedback, however, I found this code snippet you can add to the functions.php file of your theme. This function enables the use of the [raw]your code here[/raw] to disable formatting:
// Disable automatic formatting with [raw] shortcode
function my_formatter($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);