stripos
(PHP 5, PHP 7, PHP 8)
stripos —
Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig
von Groß- und Kleinschreibung
Beschreibung
Im Gegensatz zu strpos() ist
stripos() unabhängig von Groß- und Kleinschreibung.
Parameter-Liste
haystack
-
Die Zeichenkette, in der gesucht werden soll.
needle
-
Die Zeichenkette, nach der gesucht werden soll.
Wenn der Parameter needle keine Zeichenkette ist,
wird er vor PHP 8.0.0 in eine Ganzzahl umgewandelt und als ordinaler Wert
eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltet
und es wird dringend empfohlen, sich nicht darauf zu verlassen. Ist das
Verhalten gewünscht, so sollte needle explizit in
eine Zeichenkette umgewandelt werden oder explizit die Funktion
chr() aufgerufen werden.
offset
-
Wenn angegeben, dann beginnt die Suche diese Anzahl an Zeichen gezählt
vom Beginn des Strings. Ist der Offset negativ, beginnt die Suche diese
Anzahl von Zeichen gezählt vom Ende der Zeichenkette.
Rückgabewerte
Gibt die Position, an der sich die Needle befindet, relativ zum Beginn der
haystack Zeichenkette zurück (unabhängig vom
Offset). Es ist zu beachten, dass Stringpositionen mit 0, und nicht mit 1
beginnen.
Gibt false zurück, wenn die Needle nicht gefunden wurde.
WarnungDiese Funktion kann sowohl das
boolsche false zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
boolschen Typen. Benutzen Sie deshalb
den === Operator,
um den Rückgabewert dieser Funktion zu überprüfen.
Fehler/Exceptions
-
Wenn
offset größer ist als die Länge von
haystack, wird eine
ValueError-Ausnahme geworfen.
Beispiele
Beispiel #1 stripos()-Beispiele
<?php
$findmich = 'a';
$meinstring1 = 'xyz';
$meinstring2 = 'ABC';
$pos1 = stripos($meinstring1, $findmich);
$pos2 = stripos($meinstring2, $findmich);
// 'a' ist natürlich nicht in 'xyz' enthalten
if ($pos1 === false) {
echo "Die Zeichenkette '$findmich' kommt nicht im String '$meinstring1' vor.", PHP_EOL;
}
// Beachten Sie die Verwendung von !==. Ein einfaches != funktioniert nicht wie
// erwartet, da 'a' an Position 0 (also erster!) Stelle steht.
if ($pos2 !== false) {
echo "Die Zeichenkette '$findmich' wurde in '$meinstring2' an Position $pos2 gefunden", PHP_EOL;
}
?>
Anmerkungen
Hinweis: Diese Funktion ist
binärsicher.
Siehe auch
- mb_stripos() - Finds position of first occurrence of a string within another, case insensitive
- str_contains() - Prüft, ob eine Zeichenkette eine bestimmte Teilzeichenkette enthält
- str_ends_with() - Prüft, ob eine Zeichenkette mit einer bestimmten Teilzeichenkette endet
- str_starts_with() - Prüft, ob eine Zeichenkette mit einer bestimmten Teilzeichenkette beginnt
- strpos() - Sucht die Position des ersten Vorkommens des Suchstrings in einem String
- strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb
einer Zeichenkette
- strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String,
unabhängig von Groß- und Kleinschreibung
- stristr() - Wie strstr, aber unabhängig von Groß- bzw.
Kleinschreibung
- substr() - Liefert einen Teil eines Strings
- str_ireplace() - Groß- und kleinschreibungsunabhängige Version von
str_replace