diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb
index 312f6c48c..2a3023a09 100644
--- a/lib/redmine/wiki_formatting.rb
+++ b/lib/redmine/wiki_formatting.rb
@@ -95,7 +95,7 @@ module Redmine
(?:www\.) # www.*
)
(
- (\S+?) # url
+ ([^<]\S*?) # url
(\/)? # slash
)
((?:>)?|[^[:alnum:]_\=\/;\(\)]*?) # post
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 6def2f40c..91323d3a5 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -84,7 +84,10 @@ class ApplicationHelperTest < ActionView::TestCase
# escaping
'http://foo"bar' => 'http://foo"bar',
# wrap in angle brackets
- '' => '<http://foo.bar>'
+ '' => '<http://foo.bar>',
+ # invalid urls
+ 'http://' => 'http://',
+ 'www.' => 'www.',
}
to_test.each { |text, result| assert_equal "#{result}
", textilizable(text) }
end