(PHP 4, PHP 5, PHP 7, PHP 8)
trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
Die Funktion entfernt Whitespaces am Anfang und Ende von
string
und gibt den String dann zurück. Ohne
Verwendung des zweiten Parameters entfernt trim()
folgende Zeichen:
" "
: das ASCII-Zeichen SP
0x20
, ein gewöhliches Leerzeichen.
"\t"
: das ASCII-Zeichen HT
0x09
, ein Tabulatorzeichen.
"\n"
: das ASCII-Zeichen LF
0x0A
, eine neue Zeile (Zeilenvorschub, Line Feed).
"\r"
: das ASCII-Zeichen CR
0x0D
, ein Wagenrücklauf (Carriage Return)
"\0"
: das ASCII-Zeichen NUL
0x00
, das NUL-Byte.
"\v"
: das ASCII-Zeichen VT
0x0B
, ein vertikales Tabulatorzeichen.
string
Die zu trimmende Zeichenkette vom Typ string.
characters
characters
angegeben werden.
Dazu werden einfach alle Zeichen aufgelistet, die entfernt werden sollen.
Mit ..
kann ein aufsteigender Bereich von Zeichen angegeben werden.
Der gekürzte String.
Beispiel #1 Beispiel zur Verwendung von trim()
<?php
$text = "\t\tDieser Text besteht aus mehreren Wörtern :) ... ";
$binary = "\x09Beispielhafter String\x0A";
$hello = "Hallo Welt";
var_dump($text, $binary, $hello);
print "\n";
$trimmed = trim($text);
var_dump($trimmed);
$trimmed = trim($text, " \t.");
var_dump($trimmed);
$trimmed = trim($hello, "Htla");
var_dump($trimmed);
$trimmed = trim($hello, 'HtWr');
var_dump($trimmed);
// Trimmen der ASCII-Steuerzeichen an Anfang und Ende von $binary
// (inklusive der Zeichen von ASCII 0 bis 31)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
string(51) " Dieser Text besteht aus mehreren Wörtern :) ... " string(23) " Beispielhafter String " string(10) "Hallo Welt" string(47) "Dieser Text besteht aus mehreren Wörtern :) ..." string(43) "Dieser Text besteht aus mehreren Wörtern :)" string(4) "o We" string(8) "allo Wel" string(21) "Beispeilhafter String"
Beispiel #2 Trimmen von Array-Werten mittels trim()
<?php
function trim_value(&$value)
{
$value = trim($value);
}
$fruechte = array('Apfel','Banane ', ' Preiselbeere ');
var_dump($fruechte);
array_walk($fruechte, 'trim_value');
var_dump($fruechte);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(3) { [0]=> string(5) "Apfel" [1]=> string(7) "Banane " [2]=> string(11) " Preiselbeere " } array(3) { [0]=> string(5) "Apfel" [1]=> string(6) "Banane" [2]=> string(9) "Preiselbeere" }
Hinweis: Mögliche Überraschungen: Entfernung mittlerer Zeichen
Weil trim() Zeichen vom Anfang und Ende einer Zeichenkette (string) entfernt, kann es verwirrend sein, wenn Zeichen aus der Mitte gelöscht (oder nicht) werden.
trim('abc', 'bad')
entfernt 'a' und 'b', weil es 'a' entfernt, verschiebt daher 'b' an den Anfang um ebenfalls entfernt zu werden. Daher "funktioniert" es,trim('abc', 'b')
dagegen scheinbar nicht.