Udskift tekststreng med kode
Jeg bruger nedenstående "tag" funktion til at gennemlæse en tekst streng - $teksten - den indsætter hyperlinks, linjeskift, mellemrum m.mKan den udvides, således at hvis den støder op koden <mytag=1 value=1> indsætter et stykke forud defineret php kode i stil med
<?
$resultat = mysql_query("select link, overskrift from tekster where id='$value'") or die(mysql_error());
$row = mysql_fetch_array($resultat);
echo "<a href=$row[link]>$row[overskrift]</A>";
?>
Min nuværende tag funktion:
<?
function string_tagster($str) {
$str = " ".$str." ";
$str = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])((ftp|http|https|telnet|news|nttp|nntp|file):\/\/[a-z0-9~#%@æøå\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@æøå\&:;,=\?\/_\+-])+)", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $str);
$str = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])(www\.[a-z0-9~#%@æøå\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@æøå\&:;,=\?\/_\+-])+)", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $str);
$str = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])([_\.0-9a-z-]+@([_\.0-9a-z-]+)+\.[a-z]{2,4})","\\1<a href=\"mailto:\\2\">\\2</a>", $str);
return substr($str, 1);
}
function format_post2 ($str) {
$str = stripslashes($str);
$str = string_tagster($str);
$str = str_replace(" ", " ", $str);
$str = str_replace("\t", " ", $str);
$str = str_replace("\r", "", $str);
$str = str_replace("\n", "<br>", $str);
return $str;
}
?>
