Avatar ·

Wie ersetze ich nur das erste Vorkommen eines Teilstrings in PHP? (str_replace für die erste Übereinstimmung)

Hallo zusammen! Ich schreibe in PHP und bin auf ein unerwartetes Problem gestoßen. Ich habe einen String, in dem ich nur das erste Vorkommen eines bestimmten Teilstrings ersetzen muss, während alle anderen unberührt bleiben sollen. Hier ist ein Beispiel. Angenommen, ich habe HTML-Code oder einfach Text: ```php $text = "Apfel, Banane, Apfel, Orange, Apfel"; $search = "Apfel"; $replace = "Birne"; ``` Ich möchte, dass das Ergebnis ist: "Apfel, Banane, Birne, Orange, Apfel" — also nur das zweite Vorkommen wurde ersetzt (das erste unter Berücksichtigung der Groß-/Kleinschreibung, aber das ist nicht wichtig). Oder wenn ich genau das erste Vorkommen ersetzen möchte, sodass "Birne, Banane, Apfel, Orange, Apfel" herauskommt. Das Problem ist, dass die Standardfunktion `str_replace()` ALLE Vorkommen ersetzt. Ich habe `str_replace($search, $replace, $text)` ausprobiert, aber sie ersetzt jedes "Apfel" durch "Birne", während ich nur eines benötige. Ich weiß, dass es `preg_replace()` gibt, aber gibt es vielleicht eine einfachere Lösung ohne reguläre Ausdrücke? Oder wie verwende ich `preg_replace()` richtig mit der