Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Belem en 5 Septiembre 2008, 17:21 pm



Título: Saber el numero de reemplazo en una cadena
Publicado por: Belem en 5 Septiembre 2008, 17:21 pm
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:

Código:
<?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:
Código:
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!!!!!


Título: Re: Saber el numero de reemplazo en una cadena
Publicado por: Azielito en 5 Septiembre 2008, 18:34 pm
Código
  1. strstr("audio","audio1",$cadena);
  2. //Click en el nombre de la funcnion para mas informacion
  3.  



Título: Re: Saber el numero de reemplazo en una cadena
Publicado por: Ertai en 5 Septiembre 2008, 22:03 pm
Creo que lo que dices no funciona Azielito.

Prueba con

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

Algo parecido.

Saludos.


Título: Re: Saber el numero de reemplazo en una cadena
Publicado por: Belem en 5 Septiembre 2008, 22:26 pm
Gracias a ambos, finalmente lo he resuelto asi:

Teniendo en cuenta que se haran un maximo de 10 reemplazos hice los siguiente
Código:
$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