Du liest:
PHP strpos: Teilstrings in einem String lokalisieren

PHP strpos: Teilstrings in einem String lokalisieren

von Patrick
26.04.2020
Jetzt PHP programmieren lernen

Oft ist es notwendig, zu überprüfen, ob ein Teilstring in einem anderen String enthalten ist, wofür uns viele Prorammiersprachen Methoden wie string.contains() und ähnliches anbieten. Die Entsprechung in PHP hierfür, welche ich dir gleich vorstellen werde, ist die eingebaute Funktion strpos.

1. Position eines Teilstrings ermitteln mittels strpos

Die Funktion strpos akzeptiert einen String, den Parameter $haystack, in dem ein anderer String, $needle, gesucht werden soll. Als Rückgabewert erhältst du hier einen Integer, der die Index-Position des gesuchten Teilstrings angibt.

$string = "php ist schön, php ist toll!";
echo strpos($string, "php");
// 0

Im vorigen Beispiel wurde der Index vom ersten Vorkommen vom Teilstring php in $string zurückgegeben.
Zusätzlich zu diesen beiden Parametern gibt es noch den optionalen Parameter $offset, der angibt, ab welcher Position in $haystack gesucht werden soll.

echo strpos($string, "php", 5);
// 16

Was allerdings, wenn der gesuchte Teilstring nicht in $string vorhanden ist?

echo strpos($string, "python");
//

In diesem Fall bekommen wir von echo keinen Rückgabewert angezeigt.
Allerdings können wir diesen Fall mit einem recht simplen if-else-Block abfangen.

if (strpos($string, 'python') !== false) {
    echo 'true';
} else {
    echo 'false';
}
// false

2. strrpos, stripos und strripos

Zusätzlich gibt es noch 3 Variationen von strpos, welche die gleichen Parameter nehmen, sich jedoch leicht anders verhalten.

strrposGibt die Position des letzten Vorkommens von $needle zurück.
striposGibt die Position des ersten Vorkommens von $needle zurück, missachtet Groß- und Kleinschreibung.
strriposGibt die Position des letzten Vorkommens von $needle zurück, missachtet Groß- und Kleinschreibung.
Übersicht strrpos, stripos & strripos

3. Fazit – So nutzt du string.contains() in PHP

Herauszufinden, ob ein String in einem anderen String vorhanden ist und gleichzeitig seine Position zu ermitteln, ist dank der Funktion strpos und ihrer Variationen recht einfach.

Hast du Fragen, Lob, Kritik, Anmerkungen? Lass mir doch bitte einen Kommentar da!



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

Schreibe einen Kommentar

Das könnte dich auch interessieren

Jetzt PHP programmieren lernen
04.05.2020

Zeilenumbrüche in PHP

von