hi,
$str=preg_replace('~(?is)<img [^>]src=(["'])[^"']+thumb.php5?image_id=(\d+)(\1)[^>]>~',
'<a title="Klicke auf das Bild um das nächste anzuzeigen." rel="lightbox[set]" href="'.ROOT_PATH.'view/medium.php5?image_id=$2"><img title="klick mich an!" src="'.ROOT_PATH.'view/thumb.php5?image_id=$2"></a>', $str);
>
> Das preg\_replace ignoriert aber alle Attribute außer src. Dh es gehen die Attribute width, height, align und alt verloren.
> Wie muss ich das preg\_replace erweitern, dass diese erhalten bleiben?
Back-References bekommst du nur für das, wo du runden Klammern drumherum setzt.
[^>]\* mag zwar nach dem src="..." die restlichen Attribute erfassen - aber sie werden nicht "aufbewahrt", sind also futsch, können also auch beim Ersetzen nicht wieder eingefügt werden - ganz abgesehen davon, dass du das auch nicht mal versucht hast: Du ersetzt durch den Link mit title-, rel- und href-Attribut, sowie das darin liegende Bild mit title- und src-Attribut. Wenn die anderen Attribute erhalten bleiben sollten, müssten sie ja dort irgendwo wieder eingesetzt werden.
Also:
- besorge dir auch für den "Rest" eine Back-Reference
- füge diese im "Eränzungsstring" auch irgendwo sinnvoll ein
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }