Lars, vi bruger nu din nyeste version af Tagster. Jeg har bygget den ind i en klasse, så dine funktioner ikke blander sig med mine :)
Men er der ikke stadig et problem med
www.exp.dk, ?
Desuden ville det være rart hvis man i din test funktion kunne se status linien, så man kan se hvad den linker til.
Her det script jeg bruger:
<?
class tagster2 {
function tagster_format($str, $target = "_blank", $css_class = "") {
$str = str_replace(array("<", ">"), array("<", ">"), $str);
$str = $this->tagster_url($str, $target, $css_class);
$str = $this->tagster_email($str, $css_class);
$str = $this->tagster_fix_endchar($str);
$search = array(" ", "\t", "\r", "\n");
$replace = array(" ", " ", "", "<BR>");
$str = str_replace($search, $replace, $str);
return $str;
}
function tagster_url($str, $target, $css_class) {
$ins_str = $css_class ? " class=\"".$css_class."\"" : "";
if ($target) $ins_str .= " target=\"".$target."\"";
$str = $this->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|\(\[\:])(www.)([a-z0-9~#%@&:;=!',_æøå\(\)\"\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"
http://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
$str = preg_replace("/([\s|\(\[\:])(ftp.)([a-z0-9~#%@&:;=!',_æøå\(\)\"\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"
ftp://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
return $this->tagster_reduce($str);
}
function tagster_email($str, $css_class="") {
$ins_class = $css_class ? " class=\"".$css_class."\"" : "";
$str = $this->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 $this->tagster_reduce($str);
}
function tagster_fix_endchar($str) {
$str = preg_replace("/([\'\"\)\]\.\,\?\!]){1}\">/i", "\">", $str);
$str = preg_replace("/([\'\"\)\]\.\,\?\!]){1}\" target=\"([a-z0-9~#%@&=!',_æøå\-]+)\">/i", "\" target=\"\\2\">", $str);
$str = preg_replace("/([\'\"\)\]\.\,\?\!]){1}<\/a>/i", "</a>\\1", $str);
return $str;
}
function tagster_expand($str) {
return " ".$str." ";
}
function tagster_reduce($str) {
return substr($str, 1, -1);
}
}
?>