Eliminar espacios iniciales y finales (y otros caracteres) de una cadena en PHP. ¿Cómo eliminar espacios de cadenas en PHP? PHP elimina espacios adicionales en la línea

Buenas noches, recientemente tocamos un poco el tema de las contraseñas y su almacenamiento seguro, es decir, estudiamos la función hash. Hoy continuaremos un poco con el tema de las contraseñas y su almacenamiento, y estudiaremos las funciones con las que puedes eliminar espacios desde el principio y el final de una cadena. Y aquí están las contraseñas y eliminar espacios de una cadena, ¿dígame usted? En primer lugar, esta función, por supuesto, no se aplica específicamente a las contraseñas, sino que solo funciona con cadenas, y hablé de las contraseñas solo como su aplicación. Por lo tanto, puedes usarlo donde y cuando quieras, según tu situación.

¿Para qué sirve? recortar espacios al principio y al final de la línea? Si especifica una contraseña en el sitio al registrarse y de alguna manera presiona accidentalmente la barra espaciadora y no se da cuenta, entonces su contraseña constará, por ejemplo, no de cuatro caracteres, sino de cinco, incluido su espacio. Y no entenderá por qué la contraseña no es adecuada, porque el hash de esta cadena será diferente. Por eso, siempre recomiendo recortar los espacios en línea para evitar este tipo de matices. Ahora pasemos a considerar un ejemplo en la práctica.

$string_pass = " 1234 " ;
$contraseña = md5(recortar($string_pass ));
$contraseña2 = md5($string_pass);
eco $contraseña;
eco "
"
;
eco $contraseña2;
?>

Creamos una variable que será nuestra contraseña, y concretamente indicamos un espacio al principio y al final de la línea. A continuación, creamos una variable en la que ya se almacenará la contraseña hash y pasamos la línea función de recorte, que primero eliminará todos los espacios innecesarios y solo entonces obtendremos la contraseña hash. Y en la segunda variable no usamos la función para eliminar espacios e inmediatamente aplicar hash a la cadena. Luego mostramos los dos resultados en la pantalla del navegador y vemos que son completamente diferentes, aunque usamos la misma cadena en ambas ocasiones. Sin embargo, debido a los espacios, el resultado es completamente diferente, por lo que hay que tener mucho cuidado con este asunto. Y una última cosa que debería decirte. Hay dos funciones más que eliminan espacios al principio de una línea o al final de una línea, y se llaman ltrim Y recortar respectivamente. Por tanto, si necesitas eliminar espacios de alguno de los lados, utilízalos. Y con esto concluyo este artículo y te deseo éxito en todo tu trabajo.

Cuando se trabaja con texto, a menudo es necesario formatearlo. Esto es necesario para una visualización correcta y una fácil lectura. Esto es necesario si el usuario ingresa alguna información y comete errores: en lugar de un espacio, indica dos espacios y coloca una pestaña al principio. Hay varias formas de eliminar espacios en PHP.

Recortar()

La función Recortar busca caracteres adicionales al principio o al final de una cadena. Este:

  • espacio regular;
  • tabulación;
  • carácter de salto de línea.

Está escrito de esta forma:

Recorte de cadena (cadena $cadena [, cadena $character_mask = "\t\n\r\0\x0B" ])

$str es la cadena que se está procesando y $character_mask son los caracteres adicionales. $character_mask es un atributo opcional.

Preg_reemplazar

Una función para buscar y reemplazar caracteres usando una expresión regular.

preg_replace mixto ($patrón mixto, $reemplazo mixto, $sujeto mixto [, int $límite = -1 [, int &$count]])

  1. $patrón: el patrón que estás buscando.
  2. $replacement - caracteres a reemplazar.
  3. $asunto: el objeto que se está procesando.
  4. Límite de $: número de reemplazos realizados.

$pattern y $replacement pueden ser matrices. En este caso, la sustitución se realiza de acuerdo con los índices.

str_replace()

Puedes eliminar espacios de una cadena en PHP usando el método str_replace(). Reemplaza todas las apariciones de la cadena de búsqueda con la cadena de reemplazo.

str_replace mixto ($búsqueda mixto, $reemplazo mixto, $sujeto mixto [, int &$count])

Se utiliza como método preg_replace() simplificado.

  1. $búsqueda: el valor que se va a encontrar.
  2. $replace - la cadena que se va a reemplazar.
  3. $subject: el objeto en el que se realiza la búsqueda y el reemplazo.
  4. $count establece el número de reemplazos.
$bodytag = str_replace("%cuerpo%", "negro", " "); // asigna: Hll Wrld f PHP $vocales = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vowels, "", "Hola mundo de PHP"); // asigna: Deberías comer pizza, cerveza y helado todos los días $phrase = "Deberías comer frutas , verduras y fibra todos los días."; $healthy = array("frutas", "verduras", "fibra"); $yummy = array("pizza", "cerveza", "helado"); $ nuevafrase = str_replace($saludable, $delicioso, $frase); // asigna: 2 $str = str_replace("ll", "", "¡Qué bien, señorita Molly!", $count);

Ejemplo de búsqueda y reemplazo de espacios.

Estas funciones se aplican en la mayoría de situaciones, incluso en las más complejas.

Por ejemplo, el usuario ha introducido algunos datos que luego se imprimirán en pantalla. Para mejorar la legibilidad y percepción del texto en su conjunto, es necesario procesar esta información: eliminar espacios repetidos y reemplazarlos por espacios únicos.

$text1 = "Texto largo con espacios extra";

En este caso, puedes ver que hay dos y tres espacios entre las palabras. El procedimiento para eliminar espacios en PHP es el siguiente.

1. Primero necesitas convertir una cadena en una matriz de cadenas usando una función.

Explotar(“ ”, $texto1)​

Se utiliza un solo espacio como delimitador. De esta manera, las partes del cuerpo que no sean elementos separados de la matriz contendrán un espacio menos.

2. El resultado es una serie de cadenas como esta:

$matriz = ["Largo", "voluminoso", "texto", "con", "espacios extra"]​

3. Cada elemento es procesado por una función:

Preg_replace("/\s+/", " ", $texto1)​

Para buscar uno o más espacios, utilice la expresión regular /\s+/. Todas las coincidencias encontradas se reemplazan con la cadena ' '. La búsqueda se realiza en la variable $text1.

4. Como resultado, obtenemos una cadena con el número correcto de espacios, que el usuario percibe fácilmente.

En cualquier idioma, cuando se trabaja con cadenas, una tarea típica es eliminar espacios tanto al principio como al final de la línea. En PHP existen tres funciones para estos fines: ltrim(), rtrim(), trim(). La función ltrim() elimina espacios al principio de una línea, rtrim() - al final de una línea, trim() - tanto al principio como al final. Lo interesante es que estas funciones, además de los espacios, también eliminan las secuencias de escape de nueva línea, retorno de carro, tabulación y carácter nulo.

$ejemplo = "\tHola a todos\n"; var_dump(trim($ejemplo)); var_dump(rtrim($ejemplo)); var_dump(ltrim($ejemplo));

Como resultado obtenemos:

Cadena "Hola a todos" (longitud=12) cadena "Hola a todos" (longitud=14) cadena "Hola a todos" (longitud=13)

Lo más interesante es que las funciones anteriores también pueden eliminar caracteres especificados por el usuario. Para hacer esto, las funciones anteriores deben pasar como segundo argumento una cadena que contenga los caracteres que se van a eliminar. Por ejemplo:

$ejemplo = "Hola a todos\n"; var_dump(trim($ejemplo, " y")); var_dump(rtrim($ejemplo, " y\n")); var_dump(ltrim($ejemplo, " yH"));

Como resultado:

Cadena "Hola a todos" (longitud=13) cadena "yHola a todos" (longitud=13) cadena "yo a todos" (longitud=12)