strripos

(PHP 5, PHP 7, PHP 8)

strripos Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung

Beschreibung

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

Findet das letzte Vorkommen von needle im String haystack.

Im Gegensatz zu strrpos() beachtet strripos() die Groß- und Kleinschreibung nicht.

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 null (0) oder positiv, wird die Suche von links nach rechts durchgeführt, wobei die ersten offset Bytes des haystack übersprungen werden.

Wenn negativ, wird die Suche von rechts nach links durchgeführt, wobei die letzten offset Bytes des haystack übersprungen werden.

Hinweis:

Dies bedeutet, dass das letzte Vorkommen von needle vor den letzten offset Bytes gesucht wird.

Rückgabewerte

Gibt die Position zurück, an der needle relativ zum Anfang der Zeichenkette haystack vorkommt (unabhängig von Suchrichtung oder Offset).

Hinweis: Positionen in Zeichenketten werden ab 0 gezählt, und nicht ab 1.

Wenn needle nicht gefunden wird, gibt die Funktion false zurück.

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.

Beispiele

Beispiel #1 Ein einfaches strripos()-Beispiel

<?php
$haystack
= 'ababcd';
$needle = 'aB';

$pos = strripos($haystack, $needle);

if (
$pos === false) {
echo
"Leider wurde ($needle) nicht in ($haystack) gefunden.";
} else {
echo
"Glückwunsch!\n";
echo
"Das letzte Vorkommen von ($needle) in ($haystack) ist an Position ($pos).";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Glückwunsch! Das letzte Vorkommen von (aB) in (ababcd) ist an Position (2).

Siehe auch

  • strpos() - Sucht die Position des ersten Vorkommens des Suchstrings in einem String
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • substr() - Liefert einen Teil eines Strings
To Top