trim
(PHP 4, PHP 5)
trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
Beschreibung
$str
[, string $character_mask
= " \t\n\r\0\x0B"
] )
Die Funktion entfernt Whitespaces am Anfang und Ende von
str
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)), das NUL-Byte.
- "\x0B" (ASCII 11 (0x0B)), ein vertikaler Tabulator.
Parameter-Liste
-
str
-
string erwartet die zu trimmende Zeichenkette.
-
character_mask
-
Optional kann die Liste der Zeichen angegeben werden, die an Anfang und Ende der Zeichenkette entfernt werden sollen. Um diese Zeichen anzugeben, wird der
character_mask
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 = "\x09Beispeilhafter 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) " Beispeilhafter 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