Domain name regular expression into lib/framework.php
cherry-pick-merge
This commit is contained in:
parent
eefbfe746f
commit
5e7a7701b9
@ -57,6 +57,17 @@ define('NOTICE_INBOX_SOURCE_FORWARD', 4);
|
|||||||
define('NOTICE_INBOX_SOURCE_PROFILE_TAG', 5);
|
define('NOTICE_INBOX_SOURCE_PROFILE_TAG', 5);
|
||||||
define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
|
define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* StatusNet had this string as valid path characters: '\pN\pL\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\'\@'
|
||||||
|
* 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_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
|
||||||
|
define('URL_REGEX_DOMAIN_NAME', '(?:(?!-)[A-Za-z0-9\-]{1,63}(?<!-)\.)+[A-Za-z]{2,10}');
|
||||||
|
|
||||||
// append our extlib dir as the last-resort place to find libs
|
// append our extlib dir as the last-resort place to find libs
|
||||||
|
|
||||||
set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/');
|
set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/');
|
||||||
|
@ -280,7 +280,7 @@ class OStatusPlugin extends Plugin
|
|||||||
static function extractWebfingerIds($text)
|
static function extractWebfingerIds($text)
|
||||||
{
|
{
|
||||||
$wmatches = array();
|
$wmatches = array();
|
||||||
$result = preg_match_all('/(?:^|\s+)@((?:\w+[\w\-\_\.]?)*(?:[\w\-\_\.]*\w+)@(?:(?!-)[A-Za-z0-9\-]{1,63}(?<!-)\.)+[A-Za-z]{2,10})/',
|
$result = preg_match_all('/(?:^|\s+)@((?:\w+[\w\-\_\.]?)*(?:[\w\-\_\.]*\w+)@'.URL_REGEX_DOMAIN_NAME.')/',
|
||||||
$text,
|
$text,
|
||||||
$wmatches,
|
$wmatches,
|
||||||
PREG_OFFSET_CAPTURE);
|
PREG_OFFSET_CAPTURE);
|
||||||
@ -300,7 +300,7 @@ class OStatusPlugin extends Plugin
|
|||||||
static function extractUrlMentions($text)
|
static function extractUrlMentions($text)
|
||||||
{
|
{
|
||||||
$wmatches = array();
|
$wmatches = array();
|
||||||
$result = preg_match_all('!(?:^|\s+)@((?:\w+\.)*\w+(?:\w+\-\w+)*\.\w+(?:/\w+)*)!',
|
$result = preg_match_all('!(?:^|\s+)@'.URL_REGEX_DOMAIN_NAME.'(?:/\w+)*)!',
|
||||||
$text,
|
$text,
|
||||||
$wmatches,
|
$wmatches,
|
||||||
PREG_OFFSET_CAPTURE);
|
PREG_OFFSET_CAPTURE);
|
||||||
|
Loading…
Reference in New Issue
Block a user