| | |
| | | +-----------------------------------------------------------------------+ |
| | | | program/include/rcube_string_replacer.php | |
| | | | | |
| | | | This file is part of the RoundCube Webmail client | |
| | | | Copyright (C) 2009, RoundCube Dev. - Switzerland | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2009, Roundcube Dev. - Switzerland | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | PURPOSE: | |
| | |
| | | | Author: Thomas Bruederli <roundcube@gmail.com> | |
| | | +-----------------------------------------------------------------------+ |
| | | |
| | | $Id: $ |
| | | $Id$ |
| | | |
| | | */ |
| | | |
| | |
| | | |
| | | function __construct() |
| | | { |
| | | $url_chars = 'a-z0-9_\-\+\*\$\/&%=@#:;'; |
| | | $url_chars_within = '\?\.~,!'; |
| | | // Simplified domain expression for UTF8 characters handling |
| | | $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.[a-z]{2,5}'; |
| | | $url = '[a-z0-9%=#@+?.:;&\\/_~-]+'; |
| | | |
| | | $this->link_pattern = "/([\w]+:\/\/|\Wwww\.)([a-z0-9\-\.]+[a-z]{2,4}([$url_chars$url_chars_within]*[$url_chars])?)/i"; |
| | | $this->mailto_pattern = "/([a-z0-9][a-z0-9\-\.\+\_]*@([a-z0-9]([-a-z0-9]*[a-z0-9])?\\.)+[a-z]{2,5})/i"; |
| | | $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... |
| | | .")/i"; |
| | | } |
| | | |
| | | /** |