Hvorfor virker min function ikke?
Jeg har flg. function til at formatere min tekst i bl.a. tagwall..:function format($str, $target, $level) {
$str1 = htmlentities($str);
$str1 = url($str1, $target);
$str1 = email($str1);
if($level == "admin"){
$trans = array('<i>' => '<i>', '<u>' => '<u>', '</i>' => '</i>', '</u>' => '</u>', '<br>' => '<br>');
}else{
$trans = array('<i>' => '<i>', '<u>' => '<u>', '</i>' => '</i>', '</u>' => '</u>', '<br>' => '<br>');
}
$str1 = strtr($str1, $trans);
$str1 = str_replace(" ", " ", $str1);
$str1 = str_replace("\t", " ", $str1);
$str1 = str_replace("\r", "", $str1);
$str1= str_replace("\n", "<br>", $str1);
return $str1;
}
function url($str, $target) { //funktion der finder urls i tekst og laver dem til links
$ins_str = "";
if ($target) $ins_str .= " target=\"".$target."\"";
$str = 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 reduce($str);
}
function email($str) { //funktion der finder mails i tekst og laver dem til links
$str = 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 reduce($str);
}
function expand($str) { //bruges i url() og email()
return " ".$str." ";
}
function reduce($str) { //bruges i url() og email()
return substr($str, 1, -1);
}
Og så kalder jeg den så senere på den her måde:
format($data[5], "_blank", "standard");
echo $data[5];
Hvilket medfører at $data[5] bliver formateret så links bliver vist og der kun kan være visse html koder osv.. Men hvorfor virker det ikke? Det er som om at den slet ikke får fat i funktionen for www.google.com bliver ikke til link og man kan sagtens skrive alle mulige andre html koder
