Eliminar todos los espacios de una cadena con PHP



Me gusta antes de, por ejemplo, buscar un fragmento de texto en una cadena para validarlo o para facilitar algunas validaciones como en los campos de nombre de usuario, eliminar todos los espacios (No solo los del inicio y el final) de las cadenas de texto que voy a usar y así es como lo hago.

php logo

Como es lógico, lo que haré es reemplazar cada espacio en blanco que me encuentre dentro de la cadena por un «no espacio» (No se como llamarlo, es cuando se ponen dos comillas pegadas, representando que no hay un espacio dentro), así que utilizo la función preg_replace para reemplazar y utilizar expresiones regulares.

La estructura de preg_replace es bastante sencilla, y consta de 3 parámetros obligatorios y otros opcionales, los obligatorios son:

  1. pattern: El patron de búsqueda, en este caso, la expresión regular.
  2. replacement: La matriz (Array) o la cadena con la que se va a reemplazar lo que se esta buscando.
  3. subject: La cadena en la que se va a buscar.

Teniendo esto claro, se puede analizar el siguiente ejemplo:

<?php
$texto = »    Hola!, Soy el texto al que se le eliminaran todos los espacios.     Juarbo»;
$texto_sin_espacios = preg_replace(«[\s+]», », $texto);
var_dump($texto_sin_espacios);
?>

Y en este caso obtengo lo siguiente:

string(58) «Hola!,Soyeltextoalqueseleeliminarantodoslosespacios.Juarbo»

He puesto un var_dump para visualizar mas fácil que realmente ha salido sin espacios el texto que se ha pasado como parámetro a la función preg_replace por medio de la variable $texto.

En la expresión regular [\s+] he permitido identificar si hay uno o mas espacios en blanco. Hay que tener en cuenta que la «s» es minúscula, ya que esta es la que permite identificar los espacios en blanco, por el contrario la «S» mayúscula, permite identificar todo lo que no sean espacios en blanco.

Espero que haya quedado claro el funcionamiento de la función y la pequeña expresión regular. 😀

Deja una respuesta

Tu dirección de correo electrónico no será publicada.