Seraphinux
“Lloramos por el lamento de un pájaro pero no por la sangre de un pez, benditos aquellos que tienen voz.”
August 17th, 2008
Visitada: 342 veces, 1 en este dia.

PHP - Encontrando palabras duplicadas en una cadena

Problema

Necesitas encontrar palabras que aparecen mas de una vez en una cadena.

Solucion

Descomponer la cadena en palabras individuales, y entonces contar las veces que aparece cada palabra.

Codigo


<?php
  // definimos la cadena
  $cad = "bee bee decia el borrego";

  // eliminamos los espacios en blanco
  // que se encuentren en los extremos de la cadena
  $cad = trim($cad);

  // eliminamos los espacios en blanco
  // que se encuentren en medio de las palabras
  $cad = ereg_replace('[[:space:]]+', ' ', $cad);

  // descomponemos la cadena en una serie de plabras
  $words = explode(' ', $cad);

  // iteramos sobre el array
  // contamos las ocurrencias de cada palabra
  // guardamos las estadisticas en un array
  foreach ($words as $w) {
    $wordStats[strtolower($w)]++;
  }

  // imprimimos las palabras duplicadas
  // SALIDA: "bee"
  foreach ($wordStats as $k=>$v) {
    if ($v >= 2) { print "$k \r\n"; }
  }

?>
Posts Relacionados

Dejanos un comentario.