]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Define-ify excluded end-characters of URL autolinking
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 9 Mar 2016 14:16:47 +0000 (15:16 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 9 Mar 2016 14:16:47 +0000 (15:16 +0100)
lib/framework.php
lib/util.php

index 5017fc01eac785c42263cd526af5a4dbc03c9e21..229de8b79323f6bf22e3211e42b01ac88c60693b 100644 (file)
@@ -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
 
index 977c55f4e6c0c99b0fc8e9181089c481de4e6ef1..e65097c32b915d8a253ee72b93c6924f5f89fd1d 100644 (file)
@@ -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
-        ')(?<![\?\.\,\#\,])'.
+        ')(?<!['. URL_REGEX_EXCLUDED_END_CHARS .'])'.
     ')'.
     '#ixu';
     //preg_match_all($regex,$text,$matches);