diff options
-rw-r--r-- | program/include/rcube_string_replacer.php | 2 | ||||
-rw-r--r-- | 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 ad55dd87b..edb2ac34f 100644 --- a/program/include/rcube_string_replacer.php +++ b/program/include/rcube_string_replacer.php @@ -37,7 +37,7 @@ class rcube_string_replacer { // 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 6081e5377..a76ba00ee 100644 --- a/tests/Framework/StringReplacer.php +++ b/tests/Framework/StringReplacer.php @@ -25,6 +25,8 @@ class Framework_StringReplacer extends PHPUnit_Framework_TestCase { 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>'), ); |