Du liest:
Wie du mit PHP substr deine Strings aufteilen kannst

Wie du mit PHP substr deine Strings aufteilen kannst

von Pero
09.04.2020
Jetzt PHP programmieren lernen

Die PHP substr Funktion hilft dir dabei einen beliebigen Teil deines String zurückzugeben.
Dabei ist die Funktion besonders nützlich, wenn du gewisse Teile einer Nutzereingabe prüfen und zuordnen willst.

Wir werden dir in diesem Post die Funktion an einem praxisnahen Beispiel näher erläutern.

1. Syntax der PHP substr Funktion

substr(string, startpunkt, laenge)

Du kannst der Funktion dabei 3 Parameter übergeben.
Achtung! Das erste Zeichen eines Strings entspricht 0!

  • string – Der String den du bearbeiten möchtest
  • startpunkt – Ab welcher Stelle soll der neue String geteilt werden?
    • = 0, Start des neuen Strings ab dem ersten Zeichen des übergebenen Strings
    • > 0, Start des neuen Strings ab einem bestimmten Punkt, beginnend von vorne
    • < 0, Start des neuen Strings ab einem bestimmten Punkt, beginnend von hinten
  • laenge – Wie lang soll der neue String sein?
    • Standard: Bis zum Ende des übergebenen Strings
    • > 0, Zurückgegeben wird die Länge, beginnend vom startpunkt
    • < 0, Zurückgegeben wird die Länge, beginnend vom letzten Zeichen des bereits bestehenden Strings

Du erhältst durch die Funktion einen neuen (deinen Bedingungen angepassten) String als Rückgabewert.

2. Kurzübersicht

Am besten lässt sich die Funktion an ein paar Beispielen darstellen.
Wir haben dabei die gängigsten Varianten für dich vorbereitet.

2.1 PHP substr Funktion mit 2 Parametern

Du kannst die PHP-Funktion auch mit 2 Parametern ausführen.
Dabei gibt der zweite Parameter den Startpunkt des neuen Strings an.

// Nutzung von zwei Parametern
substr('Das Wetter ist wunderbar', 4);

Ausgabe:

'Wetter ist wunderbar'

2.2 PHP substr Funktion mit 3 Parametern

Die Funktion mit 3 Parametern auszuführen ist dabei die üblichste Variante.
Diese eignet sich vor allem gut, wenn du nur den Anfang oder das Ende eines Strings haben möchtest.

// Nutzung eines negativen Startpunkts
substr('Das Wetter ist wunderbar', 4, 6);

Ausgabe:

// Nutzung eines negativen Startpunkts
'Wetter'

2.3 PHP substr mit negativem Startpunkt und Länge

Mit negativem Startpunkt:

// Nutzung von negativem Startpunkt
substr('Das Wetter ist wunderbar', -9);

Ausgabe:

'wunderbar'

Mit negativer Länge:

// Nutzung von negativem Startpunkt
substr('Das Wetter ist wunderbar', 4, -9);

Ausgabe:

'ist wunderbar'

3. Praxisbeispiel: Zuordnung der Ländercodes von Handynummern

Stell dir folgendes vor:
Wir arbeiten in einem international tätigen Unternehmen und wollen bei der Kundenregistrierung dem Kunden die Arbeit erleichtern.
Deshalb wollen wir dem Kunden direkt nach der Eingabe der Handynummer sein dementsprechendes Land zuordnen.
Beispiel einer Handynummer:

$telefonnummer = '+49121212121000';

Um einer Handynummer ein Land zuordnen zu können, brauchen wir die Vorwahl.
Also müssen wir mit der PHP substr Funktion uns nun die ersten 3 Zeichen ausgeben lassen.
Natürlich gibt es auch Länder mit weniger oder mehr Zeichen in der Vorwahl, aber um die Aufgabe simpel zu halten, gehen wir nun von 3 fixen Zeichen aus.
Das würde dann so aussehen:

$telefonnummer = '+49121212121000';
$vorwahl = substr($telefonnummer,0,3); // $vorwahl = +49

In diesem Beispiel würden wir mit der substr Funktion +49 zurückgeliefert bekommen.
Jetzt können wir mit Hilfe der Vorwahl prüfen zu welchem Land die Vorwahl gehört.

$telefonnummer = '+49121212121000';
$vorwahl = substr($telefonnummer,0,3);

if($vorwahl == '+49'){
	echo 'Deutschland';
} else{
	echo 'Anderes Land';
}

Da unsere Vorwahl +49 ist, gibt die Prüfung per if-Bedingung auch Deutschland zurück.
Würde unsere Nummer beispielsweise mit +38 beginnen, würden wir ‚Anderes Land‘ als Antwort bekommen.

4. Fazit

Die PHP substr() Funktion hilft uns Teile eines bereits bestehenden Strings auszulesen.
Dabei können wir den Startpunkt und die Länge der Teile individuell festlegen.
Dies eignet sich perfekt um bestimmte Stücke einer Nutzereingabe auf etwas zu prüfen.



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren