PHP Function letztes Komma abschneiden und ersetzen

Hi,

ich steh grad voll aufn schlauch ich wusste mal die funktion aber grad weiß ich sie nicht mehr und zwar für folgendes:

es existiert ein String z.b. der

Auto, Bobbycar, Radl, Roller,

Da soll das vorletzte Komma durch ein " und" ersetzt werden und das letzte entfernt.

Kann mir bitte jemand auf die Sprünge helfen?

Danke

lg flo

Sorry fürn Doppelpost aber n kleiner nicht so toller Lösungsansatz

[code]<?php
$text= "auto, d, e, oma, pap, lol, ";

$text = substr($text, 0, strlen($string)-2); // letzes Komma und Leerzeichen entfernen
$last = strrchr($text, “,”); // vorletzes komma und rest
$last_new = str_replace(",", " und", $last); // vorletzes komma entfernen und durch und ersetzen
echo str_replace($last, $last_new, $text); // String ersetzen und ausgeben[/code]

Ausgabe:auto, d, e, oma, pap und lol
Verbesserungen gerne :wink:

lg flo

ich würds mit der holzhammer-methode machen:

erst nen substr, das letzte zeichen absäbeln
mit ner while-schleife von hinten angefangen durchgehen, wenn er das erste mal auf ein komma stößt, mit str_replace oder ähnlichem zerstückeln…
php… tausend wege führn nach rom :stuck_out_tongue:

Ok Thx … ich glaub dann is meine obere lösung noch a bisserl sauberer … in meinen Augen :wink:

lg

$text = 'auto, d, e, oma, pap, lol, '; $text = substr_replace($text = rtrim($text, ' ,'), ' und', strrpos($text, ','), 1); var_dump($text);

Hi,

danke an alle.

Die Lösung von chrisb gefällt mir schon am besten. :wink: Kapier sie zwar noch nicht so ganz aber des muss ich mir einfach noch mal auseinander nehmen dann check ichs schon.

LG FLo

Mit Regulären Ausdrücken sollte das auch machbar sein:

$text= "auto, d, e, oma, pap, lol, "; 
$text = preg_replace('/,([^,]+), ?$/',' und $1',$text);