[PHP] Werte ersetzten?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag von leopittoni »

Hallo

Ich habs jetzt so gemacht:

$fach = str_replace("S", "Sport", $fach);
$fach= str_replace("M", "Mathematik", $fach);
$fach= str_replace("E", "Englisch", $fach);
$fach= str_replace("Gg", "Geographie", $fach);
$fach= str_replace("Ge", "Geschichte", $fach);



Wenn $fach nun aber "Gg" ist, wird $fach neu: "Geographie"
Nun wird aber der Anfang des Wortes auch erstetz, also das "Ge" also gibt es am Schluss: "Geschichteographie"

Ich habe es nun einfach so geordnent, dass das nicht passiert. Gibt es nicht eine "elegantere" Lösung, das zu machen?

Danke, Léo
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

leopittoni hat geschrieben:Ich habe es nun einfach so geordnent, dass das nicht passiert. Gibt es nicht eine "elegantere" Lösung, das zu machen?
Wenn diese Abkürzungen immer ein Leerzeichen davor oder ein Leerzeichen danach oder sogar beides haben, dann könntest du deinen Code so abändern (das Beispiel ist für Leerzeichen davor und dahinter):

Code: Alles auswählen

$fach = str_replace(" S ", " Sport ", $fach);
$fach= str_replace(" M ", " Mathematik ", $fach);
$fach= str_replace(" E ", " Englisch ", $fach);
$fach= str_replace(" Gg ", " Geographie ", $fach);
$fach= str_replace(" Ge ", " Geschichte ", $fach);
Damit würde php das "Ge" in Geschichte oder Geographie nicht durch "Geschichte" ersetzen.

Alternativ dazu könntest du dir auch [php:ereg_replace] oder [php:preg_replace] anschauen. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Suche Hilfe
Mitglied
Beiträge: 105
Registriert: 29.12.2004 21:35

Beitrag von Suche Hilfe »

Warum nicht so?

Code: Alles auswählen

if($s='S'){
$s='Sport';
}
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

warum schreibst du entweder nicht die Fächer direkt rein, der Mehrbedarf an Speicher ist minimal, ansonsten könntest du auch erstmal alle machen, die als Ergebnis nichts ergeben das nachher vllt ersetzt wird, also

solltest du im Beispiel zuerst Ge durch Geschichte ersetzen, dann erst Gg durch Geographie, ansonsten denke ich müsste man eben ausschließen, das nach den Abkürzungen noch 1 Zeichen steht, also das mit den Leerzeichen z.B. weil so wie es jetzt ist auch z.B. Gewürz durch Geschichtewürz ersetzt würde
Antworten

Zurück zu „Coding & Technik“