diff --git a/CHANGELOG b/CHANGELOG index e916325aa..f6788bc7d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -51,7 +51,7 @@ CHANGELOG Roundcube Webmail - Add basic IMAP LIST's \Noselect option support - Add support for selection options from LIST-EXTENDED extension (RFC 5258) - Don't list subscribed but non-existent folders (#1486225) -- Fix handling of URLs with tilde (~) character (#1487087) +- Fix handling of URLs with tilde (~) or semicolon (;) character (#1487087, #1487088) RELEASE 0.4.2 ------------- diff --git a/program/include/rcube_string_replacer.php b/program/include/rcube_string_replacer.php index a13de6aa3..e219f3083 100644 --- a/program/include/rcube_string_replacer.php +++ b/program/include/rcube_string_replacer.php @@ -37,13 +37,13 @@ class rcube_string_replacer { // Simplified domain expression for UTF8 characters handling $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.[a-z]{2,5}'; - $url = '[a-z0-9%=#+?.:&\\/_~-]+'; + $url = '[a-z0-9%=#@+?.:;&\\/_~-]+'; $this->link_pattern = "/([\w]+:\/\/|\Wwww\.)($utf_domain($url)?)/i"; $this->mailto_pattern = "/(" ."[-\w!\#\$%&\'*+~\/^`|{}=]+(?:\.[-\w!\#\$%&\'*+~\/^`|{}=]+)*" // local-part ."@$utf_domain" // domain-part - ."(\?$url)?" // e.g. ?subject=test... + ."(\?$url)?" // e.g. ?subject=test... .")/i"; }