diff --git a/lib/framework.php b/lib/framework.php index 5017fc01ea..229de8b793 100644 --- a/lib/framework.php +++ b/lib/framework.php @@ -62,9 +62,10 @@ define('NOTICE_INBOX_SOURCE_GATEWAY', -1); * Some of those characters can be troublesome when auto-linking plain text. Such as "http://some.com/)" * URL encoding should be used whenever a weird character is used, the following strings are not definitive. */ -define('URL_REGEX_VALID_PATH_CHARS', '\pN\pL\,\-\_\+\/\=\:\;\%\~\*'); +define('URL_REGEX_VALID_PATH_CHARS', '\pN\pL\,\!\.\:\-\_\+\/\=\;\%\~\*'); define('URL_REGEX_VALID_QSTRING_CHARS', URL_REGEX_VALID_PATH_CHARS . '\&'); define('URL_REGEX_VALID_FRAGMENT_CHARS', URL_REGEX_VALID_QSTRING_CHARS . '\?\#'); +define('URL_REGEX_EXCLUDED_END_CHARS', '\?\.\,\!\#\:\''); // don't include these if they are directly after a URL // append our extlib dir as the last-resort place to find libs diff --git a/lib/util.php b/lib/util.php index 977c55f4e6..e65097c32b 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1016,7 +1016,7 @@ function common_replace_urls_callback($text, $callback, $arg = null) { '(?:/[' . URL_REGEX_VALID_PATH_CHARS . ']*)?'. // path '(?:\?[' . URL_REGEX_VALID_QSTRING_CHARS . ']*)?'. // ?query string '(?:\#[' . URL_REGEX_VALID_FRAGMENT_CHARS . ']*)?'. // #fragment - ')(?