Jeg har en tekst-streng evt. indeholdende en eller flere [img]adresse[/img]. Dette skal udskiftes med <img src="adresse"/> og hvis billedet er større (højde, bredde) end tilladt så skal der i <img> tagget også inkluderes et højte og bredde agrument. Mit problem er at jeg både skal finde hvilke steder i teksten dette måske er, og derefter både undersøge højden og bredden (getimagesize-funktionen), og derefter udskifte den, muligvis med størelses angivelse inkluderet. Her er den kode jeg har indtil nu, den bruges alle steder bruger-input skal redigeres:
<pre> function tekst($tekst) {
$find = array("/\\[b\\](.*?)\\[\\/b\\]/",
"/\\[i\\](.*?)\\[\\/i\\]/",
"/\\[img\\](.*?)\\[\\/img\\]/",
"/\\[size=([1-9]|[1-2][0-9])\\](.*?)\\[\\/size\\]/",
"/\\[u\\](.*?)\\[\\/u\\]/",
"/\\[url\\](.*?)\\[\\/url\\]/",
"/\\[url=(.+?)\\](.*?)\\[\\/url\\]/",
"/\\s\\s+/",
"/(\\<br \\/\\>\\s\\<br \\/\\>\\s)(\\<br \\/\\>\\s)+/");
$erstat = array("<b>\\\\1</b>",
"<i>\\\\1</i>",
"<img src=\\"\\\\1\\" />",
"<span style=\\"font-size: \\\\1px\\">\\\\2</span>",
"<u>\\\\1</u>",
"<a href=\\"\\\\1\\">\\\\1</a>",
"<a href=\\"\\\\1\\">\\\\2</a>",
" ",
"");
$tekst = nl2br($tekst);
$tekst = preg_replace($find, $erstat, $tekst);
$tekst = htmlwrap($tekst);
$smileys = mysql_query("SELECT * FROM smileys");
while($smiley = mysql_fetch_array($smileys)){
$tekst = str_replace("{$smiley["kode"]}", "<img alt=\\"{$smiley["navn"]}\\" src=\\"/grafik/smileys/{$smiley["fil"]}\\" title=\\"{$smiley["navn"]}\\" />", $tekst);
}
return $tekst;
}</pre>
Indlæg senest redigeret d. 09.02.2010 14:53 af Bruger #6300