Wolfy |
03-19-2005 05:18 PM |
coders, check this out
This is a plugin for wordpress that makes urls clickable. Example - it will turn the text http://www.link.com into
Code:
<a href="http://www.link.com" title="http://www.link.com" target="_blank">http://www.link.com</a>.
The only problem is that text stripped from an email automatically has this added to the url - <http://www.link.com>. I need those brackets stripped from the text so it displays correctly.
I'm sure it can be done with no more than 4 lines of code, can anyone tell me how to fix it? I'll throw in a few bucks if you want it.
(that hahahaha is 2 of these =)
Code:
function c2c_truncate_link ($url, $mode='0', $trunc_before='', $trunc_after='...') {
if (1 hahahaha $mode) {
$url = preg_replace("/(([a-z]+?):\\/\\/[A-Za-z0-9\-\.]+).*/i", "$1", $url);
$url = $trunc_before . preg_replace("/([A-Za-z0-9\-\.]+\.(com|org|net|gov|edu|us|info|biz|ws|name|tv)).*/i", "$1", $url) . $trunc_after;
} elseif (($mode > 10) && (strlen($url) > $mode)) {
$url = $trunc_before . substr($url, 0, $mode) . $trunc_after;
}
return $url;
} //end c2c_truncate_link()
// mode: 0=full url; 1=host-only ;11+=number of characters to truncate after
function c2c_hyperlink_urls ($text, $mode='0', $trunc_before='', $trunc_after='...', $open_in_new_window=true) {
$text = ' ' . $text . ' ';
$new_win_txt = ($open_in_new_window) ? ' target="_blank"' : '';
// Hyperlink Class B domains *.(com|org|net|gov|edu|us|info|biz|ws|name|tv)(/*)
$text = preg_replace("#([\s{}\(\)\[\]])([A-Za-z0-9\-\.]+)\.(com|org|net|gov|edu|us|info|biz|ws|name|tv)((?:/[^\s{}\(\)\[\]]*[^\.,\s{}\(\)\[\]]?)?)#ie",
"'$1<a href=\"http://$2.$3$4\" title=\"http://$2.$3$4\"$new_win_txt>' . c2c_truncate_link(\"$2.$3$4\", \"$mode\", \"$trunc_before\", \"$trunc_after\") . '</a>'",
$text);
// Hyperlink anything with an explicit protocol
$text = preg_replace("#([\s{}\(\)\[\]])(([a-z]+?)://([A-Za-z_0-9\-]+\.([^\s{}\(\)\[\]]+[^\s,\.\;{}\(\)\[\]])))#ie",
"'$1<a href=\"$2\" title=\"$2\"$new_win_txt>' . c2c_truncate_link(\"$4\", \"$mode\", \"$trunc_before\", \"$trunc_after\") . '</a>'",
$text);
// Hyperlink e-mail addresses
$text = preg_replace("#([\s{}\(\)\[\]])([A-Za-z0-9\-_\.]+?)@([^\s,{}\(\)\[\]]+\.[^\s.,{}\(\)\[\]]+)#ie",
"'$1<a href=\"mailto:$2@$3\" title=\"mailto:$2@$3\">' . c2c_truncate_link(\"$2@$3\", \"$mode\", \"$trunc_before\", \"$trunc_after\") . '</a>'",
$text);
return substr($text,1,strlen($text)-2);
} //end c2c_hyperlink_urls()
|