ltrim()
Die PHP-Funktion ltrim() entfernt Leerzeichen oder andere angegebene Zeichen vom Anfang eines Strings.
Die PHP-Funktion ltrim() entfernt Leerzeichen (oder andere angegebene Zeichen) von der linken Seite — also vom Anfang — eines Strings. Das „l" steht für left (links). Sie ist das Gegenstück zu rtrim(), die vom rechten Ende kürzt, und trim(), die von beiden Seiten kürzt.
ltrim() ist besonders nützlich, wenn Sie Eingaben normalisieren müssen, über die Sie keine vollständige Kontrolle haben: führende Leerzeichen aus Formularfeldern, führende Nullen in Bezeichnern oder führende Trennzeichen, die nach dem Aufteilen oder Zusammenführen von Strings übrig geblieben sind.
Syntax
ltrim(string $string, string $characters = " \n\r\t\v\0"): string| Parameter | Beschreibung |
|---|---|
$string | Der zu kürzende Eingabe-String. |
$characters | Optional. Die Menge der zu entfernenden Zeichen. Jedes Zeichen wird einzeln behandelt — die Reihenfolge spielt keine Rolle. Wenn weggelassen, wird der Standard-Leerzeichensatz verwendet. |
Die Funktion gibt einen neuen String zurück; das Original wird nie verändert (PHP-Strings werden per Wert übergeben).
Der Standard-Zeichensatz
Wenn Sie ltrim() mit einem Argument aufrufen, entfernt sie diese Zeichen von links:
" "(normales Leerzeichen)"\t"(Tabulator)"\n"(Zeilenumbruch)"\r"(Wagenrücklauf)"\0"(NUL-Byte)"\v"(vertikaler Tabulator)
Führende Leerzeichen entfernen
Die häufigste Verwendung ist das Bereinigen führender Leerzeichen:
Ausgabe:
[Hello World! ]Die abschließenden Leerzeichen bleiben erhalten — ltrim() berührt nur die linke Seite. Die eckigen Klammern [ und ] werden nur hinzugefügt, um die Grenzen in der Ausgabe sichtbar zu machen.
Bestimmte Zeichen entfernen
Übergeben Sie ein zweites Argument, um einen benutzerdefinierten Zeichensatz anstelle von Leerzeichen zu entfernen. Ein klassischer Fall ist das Entfernen führender Nullen:
<?php
echo ltrim("0042", "0"); // 42
echo "\n";
echo ltrim("xxxHello", "x"); // Hello
?>Ausgabe:
42
HelloDas Argument $characters ist eine Menge, kein Teilstring. Jedes aufgeführte Zeichen wird unabhängig entfernt, daher entfernt ltrim($line, ".,") beliebige Kombinationen führender Punkte und Kommas:
<?php
$line = "...,.,Hello, World";
echo ltrim($line, ".,"); // Hello, World
?>Ausgabe:
Hello, WorldDie Funktion hält beim ersten Zeichen an, das nicht in der Menge enthalten ist (H hier), wodurch das innere , in Hello, World unberührt bleibt.
Häufige Fallstricke
- Es handelt sich nicht um eine Teilstring-Entfernung.
ltrim("hello", "he")entfernt sowohlh- als auche-Zeichen und gibt"llo"zurück — es sucht nicht nach dem literalen Präfix"he". Um ein bekanntes Präfix zu entfernen, verwenden Siestr_replace()beim ersten Vorkommen odersubstr(). - Byte-basiert, nicht Unicode-fähig.
ltrim()arbeitet auf Bytes, sodass Multibyte-UTF-8-Zeichen beschädigt werden können, wenn Sie diese in$charactersauflisten. Für ASCII ist es vollkommen sicher; zum Kürzen von Multibyte-Zeichen verwenden Sie einpreg_replace()-Muster mit dem Modifikatoru. - Es wird eine Kopie zurückgegeben. Weisen Sie das Ergebnis zurück zu, wenn Sie es behalten möchten:
$s = ltrim($s);.
Wann welche Trim-Funktion verwenden
| Bedarf | Verwenden |
|---|---|
| Nur vom Anfang kürzen | ltrim() |
| Nur vom Ende kürzen | rtrim() |
| Von beiden Seiten kürzen | trim() |
Für einen umfassenderen Überblick über die PHP-Stringverarbeitung, siehe PHP Strings.