Moin,
ich sitze gerade an zwei Funktionen, die einfach nicht ganz miteinander funktionieren.
Die erste ist die folgende:
Diese Funktion sorgt dafür, dass wenn ein Eintrag aus einer Datenbank ausgelesen wird, der Inhalt durch den Vorgang einer weiteren Funktion ersetzt wird. Das wäre dann diese hier:
Diese Funktion soll die Größe des Images erfassen, neu berechnen und am Ende einen Link mit dem Image erzeugen, welches entsprechend der mitgelieferten Angabe verkleinert od. vergrößert wurde. Und genau daran scheitert es leider...
Das Problem ist, dass die Funktion innerhalb des callback nicht aufgerufen wird. Es wird nur der Text aus der Datenbank, sprich [img]text[/img] ausgeworfen.
Ich denke mal, dass ich ganz massiv was mit preg_replace_callback falsch mache. Besonders, da die Zeile am Anfang eine reine preg_replace war und ich bis dato noch nicht mit preg_replace_callback gearbeitet habe.
Welchen Fehler begehe ich hier gerade?
Schon einmal danke für Eure Hilfe,
MFG VenomT
ich sitze gerade an zwei Funktionen, die einfach nicht ganz miteinander funktionieren.
Die erste ist die folgende:
PHP:
<?
function rowreplace($row) {
[...]
$row = preg_replace_callback("#\[img\](.*?)\[/img\]#si", resIm('$1',150), $row);
return $row;
}
PHP:
function resIm($url, $maxvalue)
{
$ImgInfo = getimagesize($url);
$ImgWidth = $ImgInfo[0];
$ImgHeight = $ImgInfo[1];
$ImgWidth = $maxvalue;
$percent = ($ImgInfo[0] / $ImgWidth);
$ImgHeight = ($ImgInfo[1] / $percent);
return '<a href="'.$url.'" target="_blank"><img src="'.$url.'" style="width:'.round($ImgWidth).'px; height:'.round($ImgHeight).'px; margin:10px 0 10px 0; border:0 none;" alt="" /></a>';
}
?>
Das Problem ist, dass die Funktion innerhalb des callback nicht aufgerufen wird. Es wird nur der Text aus der Datenbank, sprich [img]text[/img] ausgeworfen.
Ich denke mal, dass ich ganz massiv was mit preg_replace_callback falsch mache. Besonders, da die Zeile am Anfang eine reine preg_replace war und ich bis dato noch nicht mit preg_replace_callback gearbeitet habe.
Welchen Fehler begehe ich hier gerade?
Schon einmal danke für Eure Hilfe,
MFG VenomT