Add this to your functions.php file:
Code:
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);
now in any post you don't want WP to auto-format, type "[raw]" at the beginning of the post, and "[/raw]" at the end of the post.
There is probably a plugin to do this. I'm not sure. Also, you can manually edit one of the WP core files to do this as well for all your posts.