Hvis der skulle ske noget med det andet spørgsmål, smider jeg koden her ind:
http://www.eksperten.dk/spm/616080function tagster_url($str, $target, $css_class) {
$ins_str = "";
if ($css_class) $ins_str .= " class=\"".$css_class."\"";
if ($target) $ins_str .= " target=\"".$target."\"";
$str = tagster_expand($str);
$str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a>", $str);
$str = preg_replace ("/(\s|tp\:|\(|\[|\>)(www\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"
http://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
$str = preg_replace ("/(\s|tp\:|\(|\[|\>)(ftp\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"
ftp://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
return tagster_reduce($str);
}
function tagster_email($str, $css_class="") {
$ins_class = "";
if ($css_class) $ins_class = " class=\"".$css_class."\"";
$str = tagster_expand($str);
$str = preg_replace ("/([\s\"])([\w\.\-_]+)@([\w\-_]+)\.([\w\.\-_]+)/i", "\\1<a href=\"mailto:\\2@\\3.\\4\"".$ins_class.">\\2@\\3.\\4</a>", $str);
return tagster_reduce($str);
}
function tagster_fix_endchar($str) {
$str = preg_replace ("/([\'\"\)\]\.\,\?\!]+)\">/i", "\">", $str);
$str = preg_replace ("/([\'\"\)\]\.\,\?\!]+)\" (target|class)=\"/i", "\" \\2=\"", $str);
$str = preg_replace ("/([\'\"\)\]\.\,\?\!]+)<\/a>/i", "</a>\\1", $str);
return $str;
}
function tagster_fix_longword($str, $maxlen = 10) {
$sw = 0;
$in_tag = false;
$str_size = strlen($str);
$res = "";
for ($i=0; $i<$str_size; $i++){
if ($str[$i] == '<') $in_tag = true;
else if ($str[$i] == ' ') $sw = 0;
if (!$in_tag && (($sw++) > $maxlen)) {
$res .= '­';
$sw = 0;
}
if ($str[$i] == '>') $in_tag = false;
$res .= $str[$i];
}
return $res;
}
function tagster_expand($str) {
return " ".$str." ";
}
function tagster_reduce($str) {
return substr($str, 1, -1);
}