trim
(PHP 4, PHP 5, PHP 7, PHP 8)
trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
Beschreibung
$string
, string $characters
= " \n\r\t\v\x00"): string
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:
-
" " (ASCII
32
(0x20
)), ein normales Leerzeichen. -
"\t" (ASCII
9
(0x09
)), ein Tabulatorzeichen. -
"\n" (ASCII
10
(0x0A
)), einen Zeilenvorschub (Line Feed). -
"\r" (ASCII
13
(0x0D
)), ein Wagenrücklaufzeichen (Carriage Return). -
"\0" (ASCII
0
(0x00
)), dasNUL
-Byte. -
"\v" (ASCII
11
(0x0B
)), ein vertikaler Tabulator.
Parameter-Liste
-
string
-
string erwartet die zu trimmende Zeichenkette.
-
characters
-
Optional kann die Liste der Zeichen angegeben werden, die an Anfang und Ende der Zeichenkette entfernt werden sollen. Um diese Zeichen anzugeben, wird der
characters
-Parameter verwendet. Er enthält eine Liste aller zu entfernenden Zeichen. Mit..
können darüber hinaus auch ganze Bereiche von Zeichen angegeben werden.
Rückgabewerte
Der gekürzte String.
Beispiele
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" }
Anmerkungen
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.
Siehe auch
- ltrim() - Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings
- rtrim() - Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
- str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String