Link automatisch als Bild ersetzen

aargau

Erfahrenes Mitglied
Ich möchte das wenn ein User in seinem Blog / Nachrichten / Gästebuch ein Link zu einem Bild in der Galerie setzt es automatisch durch das thumb des Bildes ausgetauscht wird. Ales ist in einer DB gespeichert. Ich glaub ich weis auch mit welchem PHP befehl ich das machen muss, jedoch hab ich keine ahnung wie ich den bediehnen muss und durch Google wurde mir auch nicht viel mehr geholfen.
eregi_replace() meine ich damit.

Nun allso die Links sehen so aus:
Code:
http://www.xyz.ch/index.php?show=gallery&id=[id]&user=[user]     könnte auch
http://www.xyz.ch/?show=gallery&id=[id]&user=[user]
im grunde müsste ich allso nach gallery&id=[id] suchen. Kann mir dies ev jemand schnell schreiben. Am schluss brauch ich gelegentlich die ID des Bildes, welche dann in der DB abgefragt wird und das thumb ausgegeben wird.

Mein Problem liegt also darain, wie erstze ich
Code:
gallery.php&id[id] mit "SELECT thumb FROM bilder WHERE id= '[id]'"
 
Hallo,
ich hab zwar nicht ganz verstanden was genau du machen willst, aber
ich kann die erklären wie ereg_replace() funktioniert.
PHP:
<?php

$string = "Das ist ein Text";    // Das ist Dein Text
$was = "ein";                   // Was du replacen willst
$womit = "dein";               //Womit du es replacen willst
echo ereg_replace($was , $womit , $string);

?>
 
soweit war ich auch leider auch schon :( nun im grunde muss einfach di ID geleich bleiben. Sozusagen diese muss also überhnommen werden. Kann ich denn überhaupt eine My SQL abfrage da einbringen?
 
Wen ich dass jetzt richtig verstanden habe willst du nur die ID mit $_GET auslesen.
PHP:
<?
$id= $_GET['id'];
$dbabfrage = "SELECT thumb FROM bilder WHERE id= $id ";
?>
 
Zuletzt bearbeitet von einem Moderator:
Nein, was ich möchte:
PHP:
$string = "Hallo, ich möchte euch ein Bild von mir Zeigen: http://www.yyy.ch/?show=gallery&id=321" ;
$was = "http://www.yyy.ch/?show=gallery&id=321";                   // die "id" so wie der Link soll verschieden sein
$womit = "SELECT.... ";               //DB nach der id abfragen und danach als <IMG> ausgeben.... 
echo ereg_replace($was , $womit , $string);

Ich hoffe es ist nun klar was ich möchte
 
Sorry das ich mich erst wieder melde.
DB ist folgender massen aufgebaut:
id | thumb | user | bild | time

das einzige was eigentlich gebraucht wird ist das thumb.
 
Folgender Code müsste noch angepasst werden, funktioniert aber, denke ich, ansonsten ^^

PHP:
$string = "http://www.xyz.ch/index.php?show=gallery&id=5";
$text = preg_replace_callback(
                "%(?!<a href=\"|<img src=\")http://www.xyz.ch/(?:.*)?show=gallery&id=([0-9]+)(?:.*)(?!\"(.*)>(.*)</a>|(.*) />)%Uis",
                create_function(
                        '$id',
                        'íf ($result = mysql_query("SELECT `thumb` FROM `tablename` WHERE `id` = \'{$id}\';")) {
                             list($thumb) = $result->mysql_fetch_row(MYSQL_NUM);
                             return "gallery.php?thumb={$thumb};
                         } else {
                             return "";
                         }'
                    ),
                $string
            );
Hab mal den String als Testcase dringelassen, jedoch kann ich nicht sagen, ob der PHP-Code im Callback funktioniert. Des Weiteren sollte halt alles entsprechend noch angepasst werden ;)
 
hmm das ganze klappt irgend wie nicht so ganz... Ich habe mal das ganze nun einfach 1:1 Kopiert und bekomme so diesen Fehler:

Code:
Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2, '', to be a valid callback in D:\USER\htdocs\pg\pg_AK\php\home.php on line 16
Was müsste ich da ändern?
 
Zurück