IPv4 and IPv6 addresses are picked up in URLs

Added ".onion" as a possible TLD
This commit is contained in:
Craig Andrews 2009-08-18 14:15:55 -04:00
parent 84227dd4e1
commit ce004083d9

View File

@ -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';