Hola seyacat, gracias por tu respuesta. Me temo que no funcionó, jejeje.
Por otro lado, leyendo tutoriales por ahí llegué a ésto:
Código PHP:
//Esta es la caden aen HTML que pretendo sea procesada
/*Obsérvese que procuré poner varios casos
de la etiqueta <img/> ligeramente diferentes*/
$myhtml = '<h1>Un encabezado</h1>
<p>Cierto texto <br/>
más texto con salto de línea</p>
<img src="img/galeria/2005fotos/2005galeria03.jpg" alt="Algo Íñigo 1" width="300" height="225" />
<p>Otro párrafo</p>
<img src="img/galeria/2005fotos/2005galeria03.jpg" width="300" height="225" />
<p>Otro párrafo</p>
<img src="img/galeria/2005fotos/2005galeria03.jpg" width="300"/>
<p>Otro párrafo</p>
<img src="img/galeria/2005fotos/2005galeria06.jpg" alt="algo2" width="300" height="225" />
<p>Otro párrafo más<br/>
con un salto de línea</p>';
//Aquí está la expresión regular que hace el trabajo
$myoutput = ereg_replace("<img (src=\"([^\",\>,\<]+)\"){1}( )?(alt=\"([^\",\>,\<]+)\")?( )?(width=\"[0-9]+\")?( )?(height=\"[0-9]+\")?( )?\/>","<div style=\"margin: 10px 0px; padding:10px;background-color:red;\">\\0</div>", $myhtml);
//mostrar el resultado en pantalla
echo $myoutput;
De hecho funciona bastante bien, pero
me gustaría un poco más de ayuda para:
- Saber si es posible simplificarlo, porque creo que en mi ignorancia me compliqué la vida.
- Si es posible que cada coincidencia dentro del patrón aparezcan en orden diferente. Es decir, que coincida tanto si pongo <img src="algo.jpg" width="300" height="200" /> como si pongo <img src="algo.jpg" height="300" width="200" /> (la diferencia está en el orden de los atributos de tamaño)
Saludos y muchas gracias.