Seite 3 von 3

Verfasst: 27.08.2005 18:29
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

Verfasst: 27.08.2005 18:55
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:

Verfasst: 27.08.2005 23:58
von Suche Hilfe
Warum nicht so?

Code: Alles auswählen

if($s='S'){
$s='Sport';
}

Verfasst: 28.08.2005 01:35
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