diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-05-29 14:12:44 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-05-29 14:12:44 -0400 |
commit | 58219416ca65a67ac4c63727a2c899c307448142 (patch) | |
tree | 5793c1600448d6700841c3cde3eb7da34e8c91c5 /lib/util.php | |
parent | f4b8feec0a3fb81d546bea05a51f771dbeb30f39 (diff) |
linkify URLs
darcs-hash:20080529181244-84dde-6b51042c5c92581d8aecfbb83630646afc078793.gz
Diffstat (limited to 'lib/util.php')
-rw-r--r-- | lib/util.php | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/util.php b/lib/util.php index 0fa3178c8..20c8834c1 100644 --- a/lib/util.php +++ b/lib/util.php @@ -349,10 +349,13 @@ function common_canonical_email($email) { return $email; } +define('URL_REGEX', '^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))'); + function common_render_content($text, $notice) { $r = htmlspecialchars($text); $id = $notice->profile_id; $r = preg_replace('/(^|\s)@([\w-]+)($|\s)/e', "'\\1@'.common_at_link($id, '\\2').'\\3'", $r); + $r = preg_replace('/'.URL_REGEX.'/', '<a href="\\0" class="extlink">\\0</a>', $r); # XXX: # tags # XXX: machine tags return $r; |