Para ello, tengo que transformar un código del tipo:
Código:
en código de tipo: <img alt="" src="http://www.foto-gratis.es/photos/0-0/2008-11-18/Img01122008105184546110.jpg" style="width: 550px; height: 853px" />
Código:
He conseguido que me lo cambié en la primera aparición de una imagen. Lo hice así: preguntando si detecta que hay una imagen en el valor introducido a través del ckeditor:<a href="imagenes/contenido/<?php echo $fila_contenido['contenido_imagen']; ?>" rel="lightbox[grupo]" title="<?php echo $fila[''.$name]?>"> <img src = "<?php echo "imagenes/contenido/"; echo $fila_contenido['contenido_imagen'];?> " alt="Ampliar" width="150" height="150"/>
Código:
Y en ese caso, como podéis ver, se llama a la función divide, que hace esto: if (strpos ($contenido_descripcion, 'img alt')) $contenido_descripcion = divide($contenido_descripcion);
Código:
De la transformación de código necesaria para que coja el lightbox me puedo ocupar yo, pero lo que necesitaba es ayuda para saber si es posible, dada una cadena (el texto completo que introduce a través de ckeditor), identificar todas las apariciones de una determinada subcadena (desde img alt hasta /> ) y actualizarlas sólo a ellas. Sé que hay funciones para encontrar la última aparición (strrchr), la primera aparición (strpos), dividir cadenas en partes (explode)... pero no soy capaz de hacer lo que quiero utilizando esas funciones.function divide($original) { $division = explode ('img alt', $original); $segundaparte = substr ($division[1], 9, strlen($division[1])); $indice = strpos ($segundaparte, '/>'); $algo = substr($segundaparte, 0, $indice); $prueba1 = 'a href="'; $prueba2 = '/>'; $prueba3 = ' rel="lightbox[grupo]"> <img src="'; $prueba4 = '/>'; $valor = $division[0].$prueba1.$algo.$prueba3.$algo.$prueba4; return $valor; }
¡Muchas gracias por adelantado! Saludos.