Permalink
Browse files

Remove unnecessary "match anything" test that caused excessive run ti…

…me on some mixed content

Update HTML5 structural tags test to also verify correctness this regexp and the previous one.

Signed-off-by: unwiredben <combee@techwood.org>
  • Loading branch information...
1 parent 3b9b743 commit 9b297fa8777158e90190fe04685bbf0b42b49ea2 @unwiredben unwiredben committed Sep 8, 2012
Showing with 12 additions and 6 deletions.
  1. +2 −2 src/showdown.js
  2. +5 −2 test/cases/html5-strutural-tags.html
  3. +5 −2 test/cases/html5-strutural-tags.md
View
@@ -259,13 +259,13 @@ var _HashHTMLBlocks = function(text) {
\b // word break
// attacklab: hack around khtml/pcre bug...
[^\r]*? // any number of lines, minimally matching
- .*</\2> // the matching end tag
+ </\2> // the matching end tag
[ \t]* // trailing spaces/tabs
(?=\n+) // followed by a newline
) // attacklab: there are sentinel newlines at end of document
/gm,function(){...}};
*/
- text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|style|section|header|footer|nav|article|aside)\b[^\r]*?.*<\/\2>[ \t]*(?=\n+)\n)/gm,hashElement);
+ text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|style|section|header|footer|nav|article|aside)\b[^\r]*?<\/\2>[ \t]*(?=\n+)\n)/gm,hashElement);
// Special case just for <hr />. It was easier to make a special case than
// to make the other regex more complicated.
@@ -9,8 +9,11 @@
<nav>navigation</nav>
-<article>read me</article>
+<article>read
+me</article>
-<aside>ignore me</aside>
+<aside>
+ignore me
+</aside>
<p>the end</p>
@@ -5,7 +5,10 @@ These HTML5 tags should pass through just fine.
<header>head</header>
<footer>footsies</footer>
<nav>navigation</nav>
-<article>read me</article>
-<aside>ignore me</aside>
+<article>read
+me</article>
+<aside>
+ignore me
+</aside>
the end

0 comments on commit 9b297fa

Please sign in to comment.