diff options
author | Craig Andrews <candrews@integralblue.com> | 2009-09-10 21:19:38 -0400 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-09-10 21:19:38 -0400 |
commit | 292bb7c4d8ca469447385e29a80f125e03284d70 (patch) | |
tree | d6e004fa4a329cbec7f16caefe6b9233c8e13fd6 | |
parent | 2a56245614f90221946ab918e820f6546133a212 (diff) |
Allow @ signs in the path, querystring, and fragment parts of URLs
-rw-r--r-- | lib/util.php | 6 | ||||
-rw-r--r-- | tests/URLDetectionTest.php | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/util.php b/lib/util.php index 292045928..b831859e9 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 87b537646..1c3f7cd96 100644 --- a/tests/URLDetectionTest.php +++ b/tests/URLDetectionTest.php @@ -27,6 +27,8 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase return array( array('not a link :: no way', 'not a link :: no way'), + array('link http://www.somesite.com/xyz/35637563@N00/52803365/ link', + 'link <a href="http://www.somesite.com/xyz/35637563@N00/52803365/" rel="external">http://www.somesite.com/xyz/35637563@N00/52803365/</a> link'), array('http://127.0.0.1', '<a href="http://127.0.0.1/" rel="external">http://127.0.0.1</a>'), array('127.0.0.1', |