From c96d3f57ef6a13e3e61338f57a473b4817547da8 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 19 Oct 2012 09:13:14 -0400
Subject: [PATCH] Match http://localhost/xxx as link

---
 program/include/rcube_string_replacer.php |    2 +-
 tests/Framework/StringReplacer.php        |    2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_string_replacer.php b/program/include/rcube_string_replacer.php
index ad55dd8..edb2ac3 100644
--- a/program/include/rcube_string_replacer.php
+++ b/program/include/rcube_string_replacer.php
@@ -37,7 +37,7 @@
   {
     // Simplified domain expression for UTF8 characters handling
     // Support unicode/punycode in top-level domain part
-    $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.([^\\x00-\\x2f\\x3b-\\x40\\x5b-\\x60\\x7b-\\x7f]{2,}|xn--[a-zA-Z0-9]{2,})';
+    $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.?([^\\x00-\\x2f\\x3b-\\x40\\x5b-\\x60\\x7b-\\x7f]{2,}|xn--[a-zA-Z0-9]{2,})';
     $url1 = '.:;,';
     $url2 = 'a-zA-Z0-9%=#$@+?!&\\/_~\\[\\]{}\*-';
 
diff --git a/tests/Framework/StringReplacer.php b/tests/Framework/StringReplacer.php
index 6081e53..a76ba00 100644
--- a/tests/Framework/StringReplacer.php
+++ b/tests/Framework/StringReplacer.php
@@ -25,6 +25,8 @@
     {
         return array(
             array('http://domain.tld/path*path2', '<a href="http://domain.tld/path*path2" target="_blank">http://domain.tld/path*path2</a>'),
+            array("Click this link:\nhttps://mail.xn--brderli-o2a.ch/rc/ EOF", "Click this link:\n<a href=\"https://mail.xn--brderli-o2a.ch/rc/\" target=\"_blank\">https://mail.xn--brderli-o2a.ch/rc/</a> EOF"),
+            array('Start http://localhost/?foo End', 'Start <a href="http://localhost/?foo" target="_blank">http://localhost/?foo</a> End'),
             array('www.domain.tld', '<a href="http://www.domain.tld" target="_blank">www.domain.tld</a>'),
             array('WWW.DOMAIN.TLD', '<a href="http://WWW.DOMAIN.TLD" target="_blank">WWW.DOMAIN.TLD</a>'),
         );

--
Gitblit v1.9.1