diff --git a/includes/Parser.php b/includes/Parser.php index 8a9ee6a17bb..a0e8649dd4e 100644 --- a/includes/Parser.php +++ b/includes/Parser.php @@ -923,9 +923,9 @@ class Parser $arr[$i] = "'''''"; } # Count the number of occurrences of bold and italics mark-ups. + # We are not counting sequences of five apostrophes. if (strlen ($arr[$i]) == 2) $numitalics++; else - if (strlen ($arr[$i]) == 3) $numbold++; else - if (strlen ($arr[$i]) == 5) { $numitalics++; $numbold++; } + if (strlen ($arr[$i]) == 3) $numbold++; } $i++; } @@ -1037,6 +1037,15 @@ class Parser } $i++; } + # Now close all remaining tags. Notice that the order is important. + if ($state == 'strong' || $state == 'emstrong') + $output .= ""; + if ($state == 'em' || $state == 'strongem' || $state == 'emstrong') + $output .= ""; + if ($state == 'strongem') + $output .= ""; + if ($state == 'both') + $output .= "{$buffer}"; return $output; } }