stripos

(PHP 5, PHP 7, PHP 8)

stripos Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung

Beschreibung

stripos(string$haystack, string$needle, int$offset = 0): int|false

Sucht die numerische Position des ersten Vorkommens von needle innerhalb des Strings haystack.

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.

Warnung

Diese 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.

Changelog

VersionBeschreibung
8.2.0 Die Groß- und Kleinschreibung hängt nicht mehr von der mit setlocale() eingestellten Locale ab. Es wird nur noch die Groß- und Kleinschreibung von ASCII-Bytes verglichen. Nicht-ASCII-Bytes werden nach ihrem Byte-Wert verglichen.
8.0.0needle akzeptiert nun eine leere Zeichenkette.
8.0.0 Die Übergabe eines Integer als needle wird nicht mehr unterstützt.
7.3.0 Die Übergabe eines Integer als needle wird missbilligt.
7.1.0 Unterstützung für negative offset-Werte wurde hinzugefügt.

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.";
}

// 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";
}
?>

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() - Determine if a string contains a given substring
  • str_ends_with() - Checks if a string ends with a given substring
  • str_starts_with() - Checks if a string starts with a given substring
  • 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
To Top