1. Code
  2. PHP
  3. PHP Scripts

Wie man Zeichenketten in PHP trimmt

Scroll to top

German (Deutsch) translation by Ines Willenbrock (you can also view the original English article)

Es gibt viele Male, wenn wir mit Zeichenfolgen arbeiten möchten, aber sie entweder am Anfang oder am Ende unerwünschte Zeichen beinhalten. PHP hat bestimmte Funktionen definiert, die wir verwenden können, um solche Strings einfach zu trimmen.

In diesem kurzen Tipp werden wir zwei häufige String-Trimm-Situationen besprechen, auf die Sie wahrscheinlich stoßen werden. Bei der ersten werden bestimmte Zeichen von einem oder beiden Enden einer Zeichenfolge entfernt. Die zweite besteht darin, Zeichenfolgen basierend auf der Menge der Zeichen zu trimmen, die wir von beiden Enden entfernen möchten.

Trimmen von Zeichenfolgen zum Entfernen eines Satzes von Zeichen

Es gibt drei verschiedene Trimmfunktionen in PHP namens ltrim(), rtrim() und trim(). Sie entfernen entweder Leerzeichen oder einen anderen Satz von Zeichen vom linken, vom rechten oder von beiden Enden.

Wenn Sie keine Liste von Zeichen erwähnen, die als zweiter Parameter entfernt werden sollen, entfernen diese Funktionen Leerzeichen wie Leerzeichen (" "), Tabs ("-t"), neue Zeilen ("-n"), wagen-Rückgaben ("-r"), NULL-Bytes ("-0") und vertikale Tabs ("-v").

Es gibt keine Begrenzung für die Anzahl der Zeichen, die durch diese Funktionen getrimmt werden. Mit anderen Worten, sie werden die Zeichenfolge weiter zuschneiden, solange sie eines der angegebenen Zeichen an beiden Enden enthält.

Hier sind einige Beispiele für diese Funktionen. Die Hauptzeichenfolgen, die wir zuschneiden, enthalten eine Kombination aus Leerzeichen, Tabs oder Zeilenumbrüche an beiden Enden.

1
<?php
2
3
$strings = ["  Hi, are you alright?     ", " 

4
I am going for a walk. ", " 

5


6
That was amazing!!!  

7


8
"];
9
10
foreach($strings as $string) {
11
    var_dump(ltrim($string));
12
}
13
14
/*

15
Output from ltrim()

16


17
string(25) "Hi, are you alright?     "

18
string(23) "I am going for a walk. "

19
string(25) "That was amazing!!!  

20
*/
21
22
23
foreach($strings as $string) {
24
    var_dump(rtrim($string));
25
}
26
27
/*

28
Output from rtrim()

29


30
string(22) "  Hi, are you alright?"

31
string(25) " 

32
I am going for a walk."

33
string(24) " 

34


35
That was amazing!!!"

36
*/
37
38
foreach($strings as $string) {
39
    var_dump(trim($string));
40
}
41
42
/*

43
Output from trim()

44


45
string(20) "Hi, are you alright?"

46
string(22) "I am going for a walk."

47
string(19) "That was amazing!!!"

48
*/
49
?>

Wie Sie sehen können, entfernt ltrim() alle Leerzeichen von der linken Seite der Zeichenfolgen, während das rechte Ende unberührt bleibt. In ähnlicher Weise entfernt rtrim() alle Leerzeichen von der rechten Seite der Zeichenfolgen, während das linke Ende unberührt bleibt.

Es ist wichtig zu bedenken, dass das Trimmen nur geschieht, wenn die Zeichen genau am Ende oder am Anfang sind. Hier ist ein Beispiel:

1
<?php
2
3
$string = "I    am

4
doing           very good!

5


6
How are you?

7


8
";
9
10
var_dump(trim($string));
11
12
/*

13


14
string(51) "I    am

15
doing           very good!

16


17
How are you?"

18


19
*/
20
21
?>

Sie können auch alle anderen Zeichengruppen zuschneiden, wenn Sie sie als zweiten Parameter von ltrim(), rtrim() oder trim() übergeben.

1
<?php
2
3
$string = "   123131311211 I am doing very good! How are you? 1231312112

4
12132321";
5
6
var_dump(trim($string, "123"));
7
8
/*

9
string(65) "   123131311211 I am doing very good! How are you? 1231312112

10


11
"

12
*/
13
?>

Dieses Mal haben wir festgelegt, dass wir nur die Zeichen 1, 2 und 3 trimmen möchten. Daher ließ trim() den Leerraum unberührt.

1
<?php 
2
$string = "12121231409874509121208409812112128311213";
3
var_dump(trim($string, "123"));
4
5
/*

6
string(27) "409874509121208409812112128"

7
*/
8
?>

In diesem zweiten Beispiel wurde das Entfernen von Ziffern von beiden Enden durch trim beendet, sobald eine Übereinstimmung zwischen den Zeichen gefunden wurde, die wir zum Trimmen angefordert haben.

1
<?php
2
$string = "12121231409874509121208409812112128311213";
3
var_dump(trim($string, "1..9"));
4
5
/*

6
string(16) "0987450912120840"

7
*/
8
?>

In diesem dritten Beispiel wird veranschaulicht, wie wir mit (..) einen Zeichenbereich angeben können, den wir zuschneiden möchten. Auf diese Weise können wir vermeiden, dass alle Zeichen aufgelistet werden, wenn sie sequenziell auftreten.

Trimmen von Zeichenfolgen zum Entfernen einer bestimmten Anzahl von Zeichen

Genau wie das Trimmen eines bestimmten Satzes von Zeichen, hat PHP auch spezielle Funktionen, um eine bestimmte Anzahl von Zeichen zu trimmen.

Die Funktion substr($string, $offset, $length) eignet sich am besten für diesen Auftrag. Sie akzeptiert drei Parameter und gibt eine Teilzeichenfolge zurück. Der erste Parameter ist die Zeichenfolge, die Sie zuschneiden möchten. Der Parameter $offset bestimmt den Anfang der zurückgegebenen Teilzeichenfolge, und der Parameter $length bestimmt die Länge der Teilzeichenfolge.

Wir können die Werte von $offset steuern und $length, um unsere Hauptzeichenfolge basierend auf der Anzahl der Zeichen zu trimmen.

  1. Sie können die Zeichenfolge von der linken Seite zuschneiden, indem Sie nur einen Offset angeben und den $length Parameter beim Aufrufen von substr() weglassen. In diesem Fall gibt substr() eine Teilzeichenfolge zurück, die vom Offset bis zum Ende der Zeichenfolge geht.
  2. Sie können die Zeichenfolge von der rechten Seite zuschneiden, indem Sie den Wert von $offset auf 0 setzen und $length negativ machen. Dadurch wird $length Anzahl von Zeichen vom rechten Ende der Hauptzeichenfolge entfernt.
  3. Sie können einen positiven Wert ungleich Null für $offset und einen negativen Wert für $length angeben, damit substr() wie trim() wirkt und eine bestimmte Anzahl von Zeichen von beiden Enden entfernt.

Hier ist ein Beispiel, das eine Zeichenfolge mit der substr()-Funktion trimmt:

1
<?php
2
3
$string = "I will try to trim this sentence in different ways.";
4
5
var_dump(substr($string, 10));
6
// string(41) " to trim this sentence in different ways."

7
8
var_dump(substr($string, -10));
9
// string(41) "I will try to trim this sentence in diffe"

10
11
var_dump(substr($string, 10, -10));
12
// string(31) " to trim this sentence in diffe"

13
14
?>

Letzte Gedanken

In diesem Kurztipp haben wir gelernt, wie man Strings in PHP basierend auf einem bestimmten Satz oder einer bestimmten Anzahl von Zeichen trimmt. Wenn Sie Fragen oder Tipps im Zusammenhang mit dem Beitrag haben, zögern Sie nicht, sie in den Kommentaren zu posten.

PHP lernen mit einem kostenlosen Online-Kurs

Wenn Sie PHP lernen möchten, schauen Sie sich unseren kostenlosen Online-Kurs zu PHP-Grundlagen an!

Please accept preferences cookies to load this content.

In diesem Kurs lernen Sie die Grundlagen der PHP-Programmierung. Sie beginnen mit den Grundlagen, lernen, wie PHP funktioniert und schreiben einfache PHP-Schleifen und -Funktionen. Anschließend bauen Sie Programmierklassen für eine einfache objektorientierte Programmierung (OOP) auf. Unterwegs lernen Sie alle wichtigen Fähigkeiten zum Schreiben von Apps für das Web: Sie können üben, auf GET- und POST-Anforderungen zu reagieren, JSON zu analysieren, Benutzer zu authentifizieren und eine MySQL-Datenbank zu verwenden.