diff options
-rw-r--r-- | lib/util.php | 6 | ||||
-rw-r--r-- | tests/URLDetectionTest.php | 16 |
2 files changed, 19 insertions, 3 deletions
diff --git a/lib/util.php b/lib/util.php index f4ba3a6c2..79611af2c 100644 --- a/lib/util.php +++ b/lib/util.php @@ -442,9 +442,9 @@ function common_replace_urls_callback($text, $callback, $notice_id = null) { ')'. '(?:'. '(?:\:\d+)?'. //:port - '(?:/[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~]*)?'. // /path - '(?:\?[\pN\pL\$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\/]*)?'. // ?query string - '(?:\#[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\/\?\#]*)?'. // #fragment + '(?:/[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\"]*)?'. // /path + '(?:\?[\pN\pL\$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\"\/]*)?'. // ?query string + '(?:\#[\pN\pL$\[\]\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\"\/\?\#]*)?'. // #fragment ')(?<![\?\.\,\#\,])'. ')'. '#ixu'; diff --git a/tests/URLDetectionTest.php b/tests/URLDetectionTest.php index 9a103b6f7..c5d29e0f6 100644 --- a/tests/URLDetectionTest.php +++ b/tests/URLDetectionTest.php @@ -35,6 +35,22 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase '<a href="http://127.0.0.1/Name:test.php" rel="external">127.0.0.1/Name:test.php</a>'), array('127.0.0.1/~test', '<a href="http://127.0.0.1/~test" rel="external">127.0.0.1/~test</a>'), + array('127.0.0.1/+test', + '<a href="http://127.0.0.1/+test" rel="external">127.0.0.1/+test</a>'), + array('127.0.0.1/$test', + '<a href="http://127.0.0.1/$test" rel="external">127.0.0.1/$test</a>'), + array('127.0.0.1/\'test', + '<a href="http://127.0.0.1/\'test" rel="external">127.0.0.1/\'test</a>'), + array('127.0.0.1/"test', + '<a href="http://127.0.0.1/"test" rel="external">127.0.0.1/"test</a>'), + array('127.0.0.1/-test', + '<a href="http://127.0.0.1/-test" rel="external">127.0.0.1/-test</a>'), + array('127.0.0.1/_test', + '<a href="http://127.0.0.1/_test" rel="external">127.0.0.1/_test</a>'), + array('127.0.0.1/!test', + '<a href="http://127.0.0.1/!test" rel="external">127.0.0.1/!test</a>'), + array('127.0.0.1/*test', + '<a href="http://127.0.0.1/*test" rel="external">127.0.0.1/*test</a>'), array('127.0.0.1/test%20stuff', '<a href="http://127.0.0.1/test%20stuff" rel="external">127.0.0.1/test%20stuff</a>'), array('http://[::1]:99/test.php', |