administrador.base.orm.sql.limpia_espacios_dobles - gamboamartin/administrador GitHub Wiki

limpia_espacios_dobles

La función limpia_espacios_dobles es una función pública que elimina espacios dobles en una cadena de texto. Reemplaza secuencias de dos o más espacios con un solo espacio, repitiendo el proceso hasta que ya no queden espacios dobles o hasta alcanzar el número máximo de iteraciones especificado.

Signatura

final public function limpia_espacios_dobles(string $txt, int $n_iteraciones = 10): string

Parámetros

  • string $txt:
    La cadena de texto en la que se eliminarán los espacios dobles.

  • int $n_iteraciones (opcional):
    El número máximo de iteraciones que la función realizará para eliminar los espacios dobles. El valor predeterminado es 10.

Retorna

  • string:
    Retorna la cadena de texto con los espacios dobles eliminados, dejando solo un espacio entre cada palabra o elemento.

Explicación Detallada

  1. Inicialización del contador de iteraciones:

    • La función inicializa una variable $iteracion en 0 para realizar un seguimiento del número de veces que se ha reemplazado una secuencia de espacios dobles.
  2. Reemplazo de espacios dobles:

    • La función entra en un bucle while que se ejecuta hasta que se alcanzan el número de iteraciones especificado en $n_iteraciones o hasta que no queden espacios dobles.
    • En cada iteración, utiliza str_replace() para reemplazar las secuencias de dos espacios (' ') por un solo espacio (' ').
  3. Incremento del contador de iteraciones:

    • El contador de iteraciones se incrementa en cada ciclo del bucle hasta alcanzar el límite definido por $n_iteraciones.
  4. Retorno de la cadena modificada:

    • Una vez que se completa el proceso, la función retorna la cadena con los espacios dobles eliminados.

Ejemplos

$txt = "Este  es   un    texto  con  espacios dobles";
$resultado = $this->limpia_espacios_dobles($txt);

// Resultado esperado:
// "Este es un texto con espacios dobles"

Código de la Función

final public function limpia_espacios_dobles(string $txt, int $n_iteraciones = 10): string
    {
        $iteracion = 0;
        while ($iteracion <= $n_iteraciones){
            $txt = str_replace('  ', ' ', $txt);
            $iteracion++;
        }
        return $txt;

    }