(PHP 4, PHP 5, PHP 7, PHP 8)
trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
$str
, string $character_mask
= " \t\n\r\0\x0B"): string
Esta función devuelve una cadena con los espacios en blanco eliminados del
inicio y final del str
.
sin el segundo parámetro,
trim() eliminará estos caracteres:
32
(0x20
)), espacio simple.
9
(0x09
)), tabulación.
10
(0x0A
)), salto de línea.
13
(0x0D
)), retorno de carro.
0
(0x00
)), el byte NUL
.
11
(0x0B
)), tabulación vertical.
str
La cadena que será recortada.
character_mask
De manera opcional, los caracteres a ser eliminados pueden ser especificados usando
el parámetro character_mask
.
Simplemente lista todos los caracteres que se quieran eliminar. Se puede especificar
un rango de caracteres usando ..
.
La cadena recortada.
Ejemplo #1 Ejemplo de uso de trim()
<?php
$text = "\t\tThese are a few words :) ... ";
$binary = "\x09Example string\x0A";
$hello = "Hello World";
var_dump($text, $binary, $hello);
print "\n";
$trimmed = trim($text);
var_dump($trimmed);
$trimmed = trim($text, " \t.");
var_dump($trimmed);
$trimmed = trim($hello, "Hdle");
var_dump($trimmed);
$trimmed = trim($hello, 'HdWr');
var_dump($trimmed);
// Elimina los caracteres de control ASCII al inicio y final de $binary
// (from 0 to 31 inclusive)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);
?>
El resultado del ejemplo sería:
string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) ..." string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string"
Ejemplo #2 Uso de trim() en valores de un array
<?php
function trim_value(&$value)
{
$value = trim($value);
}
$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);
array_walk($fruit, 'trim_value');
var_dump($fruit);
?>
El resultado del ejemplo sería:
array(3) { [0]=> string(5) "apple" [1]=> string(7) "banana " [2]=> string(11) " cranberry " } array(3) { [0]=> string(5) "apple" [1]=> string(6) "banana" [2]=> string(9) "cranberry" }
Nota: Posible trampa: eliminando caracteres de en medio
Debido a que trim() recorta los caracteres del principio y el final de un string, puede ser confuso cuando caracteres son (o no son) removidos del medio.
trim('abc', 'bad')
remueve tanto 'a' como 'b' debido a que cuando recorta 'a' entonces 'b' se mueve al inicio para también ser recortado. Por lo tanto, es por eso que "funciona", mientras que entrim('abc', 'b')
, aparentemente no es así.