Ver Mensaje Individual
  #145 (permalink)  
Antiguo 03/07/2010, 23:10
fran86
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
Respuesta: Competencias PHP

Cita:
Iniciado por maycolalvarez Ver Mensaje
En cuanto a la ingeniería inversa seria otra función que haga lo contrario, he estado pensando y veo que es factible, a lo mejor es el próximo reto
Jaja termine este mas facil que el de reducir!! no bueno.. el tema es que despues de mi ultima duda que GatorV me respondio.. me puse a hacer la unreduce().. Ahi va por si a alquien le sirve:
Código PHP:
Ver original
  1. function unreduce($cadena) {
  2.     $patronBusqueda  = '/([a-z])-([a-z])/e';
  3.     $patronReemplazo = "implode(range('\\1', '\\2'))";
  4.     while ( preg_match($patronBusqueda, $cadena) ) {
  5.         $cadena = preg_replace($patronBusqueda, $patronReemplazo, $cadena, 1);
  6.     }
  7.     return $cadena;
  8. }

Y tomando de base el array de $tests que ya publicaron se usaria:
Código PHP:
Ver original
  1. $format = '%-35s%-55s%-55s%-5s' . PHP_EOL;
  2. printf($format, 'Reducida', 'Completa Logica Humana', 'Completa Calculada', '==');
  3. foreach ($tests as $cLH => $red) {
  4.     $cC = unreduce($red);
  5.     printf($format, $red, $cLH, $cC, ((strcmp($cC, $cLH) === 0) ? 'OK' : 'FAIL'));
  6. }

Espero que sirva para sus pruebas!!

PD: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND!!

Última edición por fran86; 05/07/2010 a las 17:18 Razón: Simplifique el patron