Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/08/2004, 08:37
AKB
 
Fecha de Ingreso: agosto-2004
Mensajes: 52
Antigüedad: 19 años, 8 meses
Puntos: 0
Usa la función EXPLODE, te será más cómodo. Explode parte una cadena en subcadenas de un array por el texto que hayas especificado. Por ejemplo:

$texto = "Una prueba de [img]1[/img] que mostrará una imagen como esta otra [img]2[/img]";
$piezas = explode("[img]", $texto);
echo $pieces[0]; // Esto contendrá Una prueba de
echo $pieces[1]; // Esto contendrá 1[/img] que mostrará una imagen como esta otra
echo $pieces[2]; // Esto contendrá 2[/img]

Simple no ? el trozo [0] lo ignoras, y los otros los "EXPLODEAS" a su vez por la cadena [/img], de esta forma te quedará un array con todos los ids de imagen que te interesan. Te pongo la lógica:


$texto = "Una prueba de [img]1[/img] que mostrará una imagen como esta otra [img]2[/img]";
$piezas = explode("[img]", $texto);
$cuantasetiquetasencontradas = count($piezas);
for($y=0; $y<$cuantasetiquetasencontradas; $y++) { // Recorremos el array resultante
if(isset($piezas[$y])) { // Si la variable existe...
$imagen=explode("[/img]", $texto); // Partimos el subtrozo por el [/img] y ya tenemos el id de la imagen actual en $imagen[0]
// Aqui leemos la imagen de la base de datos y añadimos en el código lo que sea
$result = str_replace("", "[/img]", $piezas[$y]); // Ya sólo nos queda eliminar los [/img] sobrantes
}
}

Espero no haberte confundido demasiado.