in /wp-includes/functions-formatting.php starting in like 56, replace that function with the following:
function wpautop($pee, $br = 1) {
/* $pee = $pee . “\n”; // just to make things a little easier, pad the end
$pee = preg_replace(‘|
\s*
|’, “\n\n”, $pee);
// Space things out a little
$pee = preg_replace(‘!(<(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|math|p|h[1-6])[^>]*>)!’, “\n$1”, $pee);
$pee = preg_replace(‘!(</(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|math|p|h[1-6])>)!’, “$1\n”, $pee);
$pee = str_replace(array(“\r\n”, “\r”), “\n”, $pee); // cross-platform newlines
$pee = preg_replace(“/\n\n+/”, “\n\n”, $pee); // take care of duplicates
$pee = preg_replace(‘/\n?(.+?)(?:\n\s*\n|\z)/s’, “\t$1\n”, $pee); // make paragraphs, including one at the end
$pee = preg_replace(‘|\s*?|’, ”, $pee); // under certain strange conditions it could create a P of entirely whitespace
$pee = preg_replace(‘!\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|math|p|h[1-6])[^>]*>)\s*!’, “$1”, $pee); // don’t pee all over a tag
$pee = preg_replace(“|(<li.+?)|”, “$1”, $pee); // problem with nested lists
$pee = preg_replace(‘|
]*)>|i’, “
“, $pee);
$pee = str_replace(‘
‘, ‘
‘, $pee);
$pee = preg_replace(‘!\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|math|p|h[1-6])[^>]*>)!’, “$1”, $pee);
$pee = preg_replace(‘!(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|math|p|h[1-6])[^>]*>)\s*!’, “$1”, $pee);
if ($br) $pee = preg_replace(‘|(?<!
)\s*\n|’, “
\n”, $pee); // optionally make line breaks
$pee = preg_replace(‘!(</?(?:table|thead|tfoot|caption|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|math|p|h[1-6])[^>]*>)\s*
!’, “$1”, $pee);
$pee = preg_replace(‘!
(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)!’, ‘$1’, $pee);
$pee = preg_replace(‘!(<pre.*?>)(.*?)</pre>!ise’, ” stripslashes(‘$1’) . clean_pre(‘$2’) . ‘</pre>’ “, $pee);
*/
return $pee;
}
And everything you type will be unformatted besides what you specify. Enjoy.