diff --git a/js/privatebin.js b/js/privatebin.js
index 0e309745..0b115f08 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -139,6 +139,7 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
* http://user:example.com@localhost:8800/zero/?6f09182b8ea51997#WtLEUO5Epj9UHAV9JFs+6pUQZp13TuspAUjnF+iM+dM=
*
*
+ * @see {@link https://regex101.com/r/h4ACei/5}
* @name Helper.urls2links
* @function
* @param {string} html
@@ -147,7 +148,7 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
me.urls2links = function(html)
{
return html.replace(
- /(((https?|ftp):\/\/[\w?!=&.\/-;#@~%+*-]+(?![\w\s?!&.\/;#~%"=-]*>))|((magnet):[\w?=&.\/-;#@~%+*-]+))/ig,
+ /(((https?|ftp):\/\/(([a-z0-9$_\.\+!\*\'\(\),;\?&=-]|%[0-9a-f]{2})+(:([a-z0-9$_\.\+!\*\'\(\),;\?&=-]|%[0-9a-f]{2})+)?@)?((([a-z0-9]\.|[a-z0-9][a-z0-9-]*[a-z0-9]\.)*[a-z][a-z0-9-]*[a-z0-9]?|((\d|[1-9]\d|1\d{2}|2[0-4][0-9]|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4][0-9]|25[0-5]))(:\d+)?)(((\/+([a-z0-9$_\.\+!\*\'\(\),;:@&=-]|%[0-9a-f]{2})*)*(\?([a-z0-9$_\.\+!\*\'\(\),;:@&=-]|%[0-9a-f]{2})*)?)?)?(#([a-z0-9$_\.\+!\*\'\(\),;:@&=-]|%[0-9a-f]{2})*)?|((magnet):[\w?=&.\/-;#@~%+*-]+)))/ig,
'$1'
);
};
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index d500fa78..d148b786 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -75,7 +75,7 @@ if ($MARKDOWN):
-
+
diff --git a/tpl/page.php b/tpl/page.php
index 9b446d8c..7a3a596f 100644
--- a/tpl/page.php
+++ b/tpl/page.php
@@ -53,7 +53,7 @@ if ($MARKDOWN):
-
+