Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/11/2011, 04:55
aurson
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 12 años, 6 meses
Puntos: 2
Exclamación detectar palabras y repeticiones en cadena

Hola amigos!

Tengo que detectar las posiciones en que aparece una palabra en una cadena y eso para más de una palabra. La cadena puede tener una longitud variable.

P.ej. en cadena "abxxxcocheasamcasaoycochesdfsfcochekdkcasa" -> coche sale en las posiciones 5, 20, 30 y casa en 14

El resultado a obtener es, siguiendo ese mismo orden de posiciones, imprimir en pantalla el texto "BMW" (caso 'coche') y "EDIFICIO" (caso 'casa') para cada una de esas veces.

Siguiendo el ejemplo anterior, el resultado tendría que ser -> BMW BMW BMW EDIFICIO

El problema:


-> Trabajo en el código de más abajo, pero no sé como "automatizarlo", bien con alguna función, bucle, etc.

-> He probado también con la función substr_compare, pero todavía me lío más.

-> ¿Quizás mi planteamiento de partida no es correcto?

Gracias por adelantado.


Código PHP:
$cadena 'abxxxcocheasamcasaoycochesdfsfcochekdkcasa';
$encuentrame 'coche';
$posicion strpos($cadena$encuentrame);

echo 
'Cadena: ' .$cadena.'<br>';
echo 
'Longitud cadena: ' .strlen($cadena).'<br />';

if (
$posicion == false) {
    echo 
"La cadena '$encuentrame' no está en '$cadena'";
} else {
    
//caso 'coche'
    
$coche 1//para imprimir después la palabra 'BMW'
    
echo "La cadena '$encuentrame' está en la posición $posicion de '$cadena'";