Saber el numero de reemplazo en una cadena

Iniciado por Belem, 5 Septiembre 2008, 17:21 PM

0 Miembros y 1 Visitante están viendo este tema.

Belem

Hola a todos, tengo un gran problemita, resulta que tengo un codigo PHP, que debe de hacer reemplazos en una cadena, para que me entiendan pongo un ejemplo:


<?php
$cadena
="ffffff fffffffffff ggggggggg hhhhhhhh uuuuuuu audio gggggg yyyyyyy gggggg
qqqqqqqqeeeeee yyyyy llll vvvv audio fgfgfgsfafg giuuytiytuiyu asasew qqqq nnnn asasasa audio fhyrfhfghfhg arfefasf jktukfg audio"
;
?>



Lo que necesito es reemplazar "audio" por "audio" + el numero de reemplazo, la cadena anterior deberia quedar:

ffffff fffffffffff ggggggggg hhhhhhhh uuuuuuu audio1 gggggg yyyyyyy gggggg
qqqqqqqqeeeeee yyyyy llll vvvv audio2 fgfgfgsfafg giuuytiytuiyu asasew qqqq nnnn asasasa audio3 fhyrfhfghfhg arfefasf jktukfg audio4


Existe una funcion en PHP que me permita hacer eso?????

Desde ya gracias!!!!!
[ *BELEM * ]

Azielito

Código (php) [Seleccionar]
strstr("audio","audio1",$cadena);
//Click en el nombre de la funcnion para mas informacion



Ertai

Creo que lo que dices no funciona Azielito.

Prueba con

$i = 1;
$pos = BUSCAR_POSICION_PALABRA($cadena);
MIENTRAS($pos !== FALSE)
{
  REEMPLAZAR($palabra, $otra_palabra . $i++);
}


Algo parecido.

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Belem

Gracias a ambos, finalmente lo he resuelto asi:

Teniendo en cuenta que se haran un maximo de 10 reemplazos hice los siguiente

$myID="/audio/"; // La cadena a "numerar"
for($gg=1;$gg<=10;$gg++){ // como dije antes maximo 10 reemplazos
$myReplace="audio".$gg;
/* Reemplaza $myID con lo que esta en $myReplace de la $cadena, pero solo el primero.....*/
                $cadena=preg_replace($myID,$myReplace,$cadena,1);

}


Saludos a todos
[ *BELEM * ]