Moin!
Hallo erst mal ;-)
Gibt es eine einfache Möglichkeit um nach dem
letzten Vorkommen eines Strings(NICHT ZEICHEN) zu suchen?
Nein, scheinbar nicht. PHPs eingebaute Stringfunktionen erlauben es nur, ganze Strings von vorne aus suchen zu lassen, und von hinten nur einzelne Zeichen.
Du mußt dir also eine eigene Funktion zusammenstricken.
Lösungsansätze:
Mit strrev() kannst du Strings umdrehen. Wenn du needle und haystack umdrehst und dann von vorne suchst (strstr() oder strpos(), wie gewünscht), und dann die Position ebenfalls wieder umrechnest auf den Vorwärts-String, solltest du die gewünschte Information kriegen können.
Wahlweise kannst du natürlich auch solange von vorne in Teilstrings suchen, bis du keine Ergebnisse mehr findest. Das ist dann offenbar das letzte Ergebnis. Hier bietet es sich durchaus an, eine rekursive Funktion zu benutzen, aber man kann es auch iterativ lösen.
Wenn's auf Performance ankommt, mußt du mal testen, welche Variante schneller ist. Ich vermute, der erste Vorschlag ist schon sehr gut.
- Sven Rautenberg
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)