Mailinglisten-Archive |
Tim schrieb: >> $string = preg_replace('|<IMG +.*id *= *([0-9]+)[^>]+>|i', >> '<!--bid=\\1-->', $string); >> > Diese Variante berücksichtigt nicht, dass auch noch andere Bilder im > HTML-Quellcode vorkommen könnten. > > Getauscht werden sollen immer nur die Bilder mit den passenden ID's. > In Deinem Beispiel mit der Zahl 1. preg_replace_callback ist Dein Freund, in etwa so: <?php $IDs = array(7892); $string = <<<EOD <IMG id=7892 src="http://www.pontevecchio.de/pictures/casa_dera_02_co_ar.jpg" align=right border=0> <IMG id=0001 src="http://www.pontevecchio.de/pictures/casa_dera_01_co_ar.jpg" align=right border=0> EOD; function replaceID($matches) { global $IDs; if(in_array($matches[2], $IDs)) { return '<!--bid='.$matches[2].'-->'; } else { return implode(NULL, $matches); } } $string = preg_replace_callback('|(<IMG +.*id *= *)([0-9]+)([^>]+>)|i', 'replaceID', $string); echo $string; ?> Gruss, Andreas -- http://www.andreas-demmer.de
php::bar PHP Wiki - Listenarchive