Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 23-09-2003, 21:57
weserweb
 Junior Member
Links : Onlinestatus : weserweb ist offline
Registriert seit: Sep 2002
Ort: 20min vor der ostsee
Beiträge: 234
weserweb ist zur Zeit noch ein unbeschriebenes Blatt
weserweb eine Nachricht über ICQ schicken
Standard Suchen und ersetzen mehrer Platzhalter in einem Textstring

hallo,

ich stecke fest.

ich hole einen textstring ($text) aus db (der text für eine seite mit der id $id - im beispiel $id=184).
in diesem string stehen platzhalter für bilder.
die platzhalter sehen so aus: "##-1" für bild nummer 1, "##-2" für bild nummer 2 etc.

ich lese dann die bilder-tabelle ein und stelle fest, ob bildnummern ($pic_num) für eine seite mit dieser id existieren.

die verarbeitung soll dann in einer while-schleife laufen:
PHP-Code:
$sql mysql_query("SELECT pic_num FROM pages_pics WHERE page_id = '$id'"); 
    while (
$row mysql_fetch_row($sql))
        {
        
$pic_num $row[0];

        
$bild_pfad "../../images/".$id."-".$pic_num.".jpg";

        if (
file_exists($bild_pfad))
            {
            
$bild "<img src='.$bild_pfad.">";
            $text = str_replace("
##-".$pic_num,$bild,$text);
            
}
        } 
ich bekomme bei z.b. 20 bildern und 2 platzhaltern dieses ergebnis:

1) platzhalter ist "##-11" - ergebnis: <img src='../../images/own_pages/184-1.jpg'
und ans bild angehängt die "1" (zweite ziffer aus "11")

2) platzhalter ist "##-12" - ergebnis: <img src='../../images/own_pages/184-2.jpg'
und ans bild angehängt die "2" (zweite ziffer aus "12")

3) das ganze ist nicht sehr elegant, da für jedes bild der gesamte text geprüft werden muss.

hat jemand einen tip, wie statt "bild-1" das gewünschte "bild-11" angezeigt wird?
kann man das ganze besser formulieren?
oder ist der ganze ansatz verkehrt?

danke für jeden tip, wolfgang
Mit Zitat antworten