fixed url parsing when they contain a slash in query string

This commit is contained in:
Michaël Witrant 2009-11-14 18:18:00 +08:00 committed by Reinier Balt
parent 45d9ab60bf
commit c679593d1e
2 changed files with 37 additions and 0 deletions

View file

@ -0,0 +1,25 @@
# See test_url_with_slash_in_query_string_are_parsed_correctly in test/functional/todos_controller_test.rb
# and http://blog.swivel.com/code/2009/06/rails-auto_link-and-certain-query-strings.html
module ActionView::Helpers::TextHelper
remove_const :AUTO_LINK_RE
AUTO_LINK_RE = %r{
( # leading text
<\w+.*?>| # leading HTML tag, or
[^=!:'"/]| # leading punctuation, or
^ # beginning of line
)
(
(?:https?://)| # protocol spec, or
(?:www\.) # www.*
)
(
[-\w]+ # subdomain or domain
(?:\.[-\w]+)* # remaining subdomains or domain
(?::\d+)? # port
(?:/(?:[~\w\+@%=\(\)-]|(?:[,.;:'][^\s$]))*)* # path
(?:\?[\w\+@%&=.;:/-]+)? # query string
(?:\#[\w\-]*)? # trailing anchor
)
([[:punct:]]|<|$|) # trailing text
}x
end