Permalink
Browse files

Merge pull request #3592 from avakhov/av-highlight-regexp

Fix and simplify highlight regexp
  • Loading branch information...
2 parents 909e5cc + b5c3987 commit bdd76fb5e397768f9fca78ef6926afcf1ba71365 @josevalim josevalim committed Nov 10, 2011
@@ -120,7 +120,7 @@ def highlight(text, phrases, *args)
text
else
match = Array(phrases).map { |p| Regexp.escape(p) }.join('|')
- text.gsub(/(#{match})(?!(?:[^<]*?)(?:["'])[^<>]*>)/i, options[:highlighter])
+ text.gsub(/(#{match})(?![^<]*?>)/i, options[:highlighter])
end.html_safe
end
@@ -194,6 +194,10 @@ def test_highlight_with_html
"<p>This is a <strong class=\"highlight\">beautiful</strong> <a href=\"http://example.com/beautiful#top?what=beautiful%20morning&amp;when=now+then\">morning</a>, but also a <strong class=\"highlight\">beautiful</strong> day</p>",
highlight("<p>This is a beautiful <a href=\"http://example.com/beautiful\#top?what=beautiful%20morning&when=now+then\">morning</a>, but also a beautiful day</p>", "beautiful")
)
+ assert_equal(
+ "<div>abc <b>div</b></div>",
+ highlight("<div>abc div</div>", "div", :highlighter => '<b>\1</b>')
+ )
end
def test_excerpt

0 comments on commit bdd76fb

Please sign in to comment.