Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/08/2013, 09:49
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Codificación de textos de mi infancia cambiando letras de lugar

Suponiendo espacio como único separador.Agregar separadores no sería complicado.

Código PHP:
Ver original
  1. $cad='las abejas hacen miel para el murcielago';
  2. $palabras=explode(" ",$cad);
  3. $vtrans=array("a"=>"u","e"=>"o","i"=>"i","o"=>"e","u"=>"a");
  4.  
  5. $kvocal=array_keys($vtrans);
  6. foreach($palabras as $cur)
  7. {
  8.    $vocales=array();
  9.    $consonantes=array();
  10.    $positions=array();
  11.  
  12.    $len=strlen($cur);
  13.    for($k=0;$k<$len;$k++)
  14.    {
  15.        $c=$cur[$k];
  16.        $positions[$k]=(in_array($c,$kvocal)?1:0);
  17.        if($positions[$k])
  18.           array_push($vocales,$c);
  19.        else
  20.           array_unshift($consonantes,$c);
  21.    }
  22.    $newWord="";
  23.    for($k=0;$k<$len;$k++)
  24.       $newWord.=($positions[$k]?$vtrans[array_shift($vocales)]:array_shift($consonantes));
  25.    
  26.    $words[]=$newWord;
  27.  
  28. }
  29. echo implode(" ",$words);

Última edición por dashtrash; 10/08/2013 a las 09:55