Foros del Web » Programando para Internet » PHP »

Recorrer una cadena y numerar los patrones encontrados

Estas en el tema de Recorrer una cadena y numerar los patrones encontrados en el foro de PHP en Foros del Web. Saludos a todos. Necesito ayuda con una cosita... bueno, primero la pregunta fácil: ¿Existe alguna función de php con la que pueda buscar un patrón ...
  #1 (permalink)  
Antiguo 31/05/2007, 10:56
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
Recorrer una cadena y numerar los patrones encontrados

Saludos a todos.

Necesito ayuda con una cosita... bueno, primero la pregunta fácil:

¿Existe alguna función de php con la que pueda buscar un patrón específico, y según lo vaya encontrando lo numere?

Por ejemplo, supongamos que en la cadena $str quiero buscar todas las X que hay. ¿Alguna forma para recorrer la cadena y que cada X que encuentre la numere, haciendo algo así X_1, X_2, X_3... X_n ?

Y si no existe una función prediseñada, cómo se podría hacer?.

Gracias.

Saludos:)
  #2 (permalink)  
Antiguo 31/05/2007, 12:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Recorrer una cadena y numerar los patrones encontrados

Tendrias que usar preg_replace_callback con un contador estatico para ir reemplazando cada que encuentres tu patron.

Saludos.
  #3 (permalink)  
Antiguo 31/05/2007, 14:16
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 9 meses
Puntos: 10
Re: Recorrer una cadena y numerar los patrones encontrados

o preg_split y luego foreach()
ej:
$array = preg_split('/x/', $cadena);
$ncadena = '';
foreach($array as $k=>$v) {
if(isset($array[$k+1]))
$ncadena .= $v . 'x_'. $k;
else
$ncadena .= $v;
}


Si $cadena es,por ejemplo ('xaxexixoxu'), $ncadena contendrá (o debería) x_1ax_2ex_3ix_4ox_5u
  #4 (permalink)  
Antiguo 31/05/2007, 14:37
 
Fecha de Ingreso: enero-2006
Mensajes: 8
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Recorrer una cadena y numerar los patrones encontrados

A mi tambien me interesaria hacer algo parecido con la direncia de que para cada expresion encontrada pueda anteponer uno o unos caracteres, por ejemplo:

cadena="Mi perro es grande, pero el perro de mi vecina es pequeño, cada perro es distinto"

y buscar la palabra perro y cambiar la cadena asi:

cadena_nueva="Mi 1aperro es grande, pero el 2aperro de mi vecina es pequeño, cada 3aperro es distinto"

gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.