forked from GNUsocial/gnu-social
IPv4 and IPv6 addresses are picked up in URLs
Added ".onion" as a possible TLD
This commit is contained in:
parent
84227dd4e1
commit
ce004083d9
28
lib/util.php
28
lib/util.php
@ -417,11 +417,31 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) {
|
||||
'(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|irc)://'.
|
||||
'|'.
|
||||
'(?:mailto|aim|tel|xmpp):'.
|
||||
')?'.
|
||||
'('.
|
||||
'(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'. //IPv4
|
||||
'|(?:'.
|
||||
'([0-9a-f]{1,4}:){1,1}(:[0-9a-f]{1,4}){1,6}|'. //IPv6
|
||||
'([0-9a-f]{1,4}:){1,2}(:[0-9a-f]{1,4}){1,5}|'.
|
||||
'([0-9a-f]{1,4}:){1,3}(:[0-9a-f]{1,4}){1,4}|'.
|
||||
'([0-9a-f]{1,4}:){1,4}(:[0-9a-f]{1,4}){1,3}|'.
|
||||
'([0-9a-f]{1,4}:){1,5}(:[0-9a-f]{1,4}){1,2}|'.
|
||||
'([0-9a-f]{1,4}:){1,6}(:[0-9a-f]{1,4}){1,1}|'.
|
||||
'(([0-9a-f]{1,4}:){1,7}|:):|'.
|
||||
':(:[0-9a-f]{1,4}){1,7}|'.
|
||||
'((([0-9a-f]{1,4}:){6})(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'.
|
||||
'(([0-9a-f]{1,4}:){5}[0-9a-f]{1,4}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})|'.
|
||||
'([0-9a-f]{1,4}:){5}:[0-9a-f]{1,4}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'.
|
||||
'([0-9a-f]{1,4}:){1,1}(:[0-9a-f]{1,4}){1,4}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'.
|
||||
'([0-9a-f]{1,4}:){1,2}(:[0-9a-f]{1,4}){1,3}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'.
|
||||
'([0-9a-f]{1,4}:){1,3}(:[0-9a-f]{1,4}){1,2}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'.
|
||||
'([0-9a-f]{1,4}:){1,4}(:[0-9a-f]{1,4}){1,1}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'.
|
||||
'(([0-9a-f]{1,4}:){1,5}|:):(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}|'.
|
||||
':(:[0-9a-f]{1,4}){1,5}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}'.
|
||||
')|'.
|
||||
'(?:[^.\s/:]+\.)+'. //DNS
|
||||
'(?:museum|travel|onion|[a-z]{2,4})'.
|
||||
')'.
|
||||
'[^.\s]+\.[^\s]+'.
|
||||
'|'.
|
||||
'(?:[^.\s/:]+\.)+'.
|
||||
'(?:museum|travel|[a-z]{2,4})'.
|
||||
'(?:[:/][^\s]*)?'.
|
||||
')'.
|
||||
'#ix';
|
||||
|
Loading…
Reference in New Issue
Block a user