Leerzeichen am Anfang und Ende eines Strings entfernen (Thema: PHP Beispiele)

trim-Funktionen in PHP, um Whitespace-Zeichen vom Anfang und Ende eines Strings zu entfernen

1. Einleitung

Wie in den meisten Programmiersprachen gibt es auch in PHP trim-Funktionen. Diese entfernen Leerzeichen, Tabs und Zeilenumbrüche (alle Whitespace-Zeichen) am Anfang und/oder Ende eines Strings. Es gibt folgende drei Befehle:

  • trim(): Entfernt Leerzeichen, Tabs und Zeilenumbrüche am Anfang und am Ende des Strings.
  • ltrim(): Entfernt Leerzeichen, Tabs und Zeilenumbrüche nur am Anfang des Strings (left trim).
  • rtrim(): Entfernt Leerzeichen, Tabs und Zeilenumbrüche nur am Ende des Strings (right trim).

In den meisten Fällen ist trim() die verwendete Funktion. ltrim() und rtrim() werden nur selten benötigt.

2. Beispiel trim(), ltrim() und rtrim()

In diesem Beispiel werden trim(), ltrim() und rtrim() jeweils auf einen String ($str) angewendet, welcher am Anfang und Ende Leerzeichen enthält. Die Ergebnisse werden jeweils ausgegeben.

PHP-Code
<?php
	// Eine beispielhafte Benutzereingabe,
	// die am Anfang einen Tab und am Ende zwei Leerzeichen enthaelt
	$str = '	Das ist eine Benutzereingabe  ';

	// Leerzeichen, Tabs und Zeilenumbrueche links und rechts entfernen
	var_dump(trim($str));

	// Leerzeichen, Tabs und Zeilenumbrueche nur links entfernen
	var_dump(ltrim($str));

	// Leerzeichen, Tabs und Zeilenumbrueche nur rechts entfernen
	var_dump(rtrim($str));
?>

HTML-Code: Ausgabe
string(28) "Das ist eine Benutzereingabe"
string(30) "Das ist eine Benutzereingabe  "
string(29) "	Das ist eine Benutzereingabe"


Wie beschrieben werden nicht nur Leerzeichen, sondern auch Tabs und Zeilenumbrüche entfernt. Im nächsten Beispiel wird dies an einem String dargestellt, welcher solche Zeichen enthält. Tabs werden mit \t platziert, Zeilenumbrüche mit \n. (Hinweis: \t und \n repräsentieren jeweils ein Zeichen. strlen("\t") ergibt daher 1 und nicht 2.)

PHP-Code
<?php
	// Der String (enthaelt ohne Leerzeichen, Tabs und Zeilenumbrueche 22 Zeichen, mit 33)
	$str = " \n\n\t\n  \t Beispielhafte Eingabe. \t";

	// Ausgabe der Zeichenlaenge des Strings - ohne und mit Bearbeitung durch trim()
	var_dump(strlen($str), strlen(trim($str)));

	// Ausgabe des Strings ohne und mit Bearbeitung durch trim()
	var_dump($str, trim($str));
?>

HTML-Code: Ausgabe
int(33)
int(22)
string(33) " 

	
  	 Beispielhafte Eingabe. 	"
string(22) "Beispielhafte Eingabe."


3. Eigene Zeichen per trim()/ltrim()/rtrim() entfernen

An trim(), ltrim() und rtrim() können jeweils als zweiter Parameter ein oder mehr Zeichen übergeben werden, welche am Anfang und/oder Ende des Strings entfernt werden sollen. Das Schreiben eigener Funktionen, um bestimmte Zeichen am Anfang und/oder Ende eines Strings zu entfernen, ist daher nicht notwendig. Die Zeichen werden als ein String übergeben, die Reihenfolge spielt keine Rolle.

PHP-Code
<?php
	$str = "xyzABCyzx";
	var_dump(trim($str, "xyz")); // erzeugt: string(3) "ABC"
	var_dump(ltrim($str, "xyz")); // erzeugt: string(6) "ABCyzx"
	var_dump(rtrim($str, "xyz")); // erzeugt: string(6) "xyzABC"
?>

HTML-Code: Ausgabe
string(3) "ABC"
string(6) "ABCyzx"
string(6) "xyzABC"


Kommentare (0)

Von neu nach alt