X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=program%2Finclude%2Frcube_string_replacer.php;h=b69e9cf50b8814afd6ebe3a5ec06777666957eaf;hb=76507f7c63a660742e76889ad6e3919f3dde3bb0;hp=0a0564673ae6386127d723b2947ab4034571494d;hpb=4212156c5c79d2f58342feb0d3ed1893f177bcab;p=roundcube.git diff --git a/program/include/rcube_string_replacer.php b/program/include/rcube_string_replacer.php index 0a05646..b69e9cf 100644 --- a/program/include/rcube_string_replacer.php +++ b/program/include/rcube_string_replacer.php @@ -5,7 +5,7 @@ | program/include/rcube_string_replacer.php | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2009, Roundcube Dev. - Switzerland | + | Copyright (C) 2009, The Roundcube Dev Team | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: rcube_string_replacer.php 4402 2011-01-10 14:50:48Z thomasb $ + $Id: rcube_string_replacer.php 5481 2011-11-24 07:53:00Z alec $ */ @@ -36,9 +36,10 @@ class rcube_string_replacer function __construct() { // Simplified domain expression for UTF8 characters handling - $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.[a-z]{2,5}'; - $url1 = '.:;'; - $url2 = 'a-z0-9%=#@+?&\\/_~\\[\\]-'; + // 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-z0-9]{2,})'; + $url1 = '.:;,'; + $url2 = 'a-z0-9%=#@+?!&\\/_~\\[\\]{}-'; $this->link_pattern = "/([\w]+:\/\/|\Wwww\.)($utf_domain([$url1]?[$url2]+)*)/i"; $this->mailto_pattern = "/("