Regular expression + avoid-redirection list now match each other.
$out_url = str_replace('.-()', '', $out_url);
break;
+ // non-HTTP schemes, so no redirects
case 'bitcoin':
case 'mailto':
- case 'magnet':
case 'aim':
case 'jabber':
case 'xmpp':
// don't touch anything
break;
+ // URLs without domain name, so no redirects
+ case 'magnet':
+ // don't touch anything
+ break;
+
default:
$out_url = $default_scheme . ltrim($out_url, '/');
$p = parse_url($out_url);
'(?:'.
'(?:(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|ircs?)://)'.
'|'.
- '(?:(?:bitcoin|mailto|aim|tel|xmpp):)'.
+ '(?:(?:aim|bitcoin|fax|jabber|mailto|tel|xmpp):)'.
')'.
'(?:[\pN\pL\-\_\+\%\~]+(?::[\pN\pL\-\_\+\%\~]+)?\@)?'. //user:pass@
'(?:'.