diff --git a/modules/filter/filter.module b/modules/filter/filter.module index 9646b1d1ced326370ffed1283963a6b21a3241e5..916e020f5c13194213d421185063e97af3dfaa61 100644 --- a/modules/filter/filter.module +++ b/modules/filter/filter.module @@ -932,7 +932,8 @@ function _filter_autop($text) { $chunk = preg_replace('!(<'. $block .'[^>]*>)!', "\n$1", $chunk); // Space things out a little $chunk = preg_replace('!(</'. $block .'>)!', "$1\n\n", $chunk); // Space things out a little $chunk = preg_replace("/\n\n+/", "\n\n", $chunk); // take care of duplicates - $chunk = preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s', "<p>$1</p>\n", $chunk); // make paragraphs, including one at the end + $chunk = preg_replace('/^\n|\n\s*\n$/', '', $chunk); + $chunk = '<p>'. preg_replace('/\n\s*\n\n?(.)/', "</p>\n<p>$1", $chunk) ."</p>\n"; // make paragraphs, including one at the end $chunk = preg_replace("|<p>(<li.+?)</p>|", "$1", $chunk); // problem with nested lists $chunk = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $chunk); $chunk = str_replace('</blockquote></p>', '</p></blockquote>', $chunk);