Groß - Kleinbuchstaben PHP

123123123

Erfahrenes Mitglied
hallo leute!!

ich habe die aufgabe den text " Dies ist ein Text" so zu schreiben ==> "dIES IST EIN tEXT"!!

sitze schon sehr lange daran!!

danke schon mal für die Hilfe!!

LG Anna
 
Wenn du dich schon lange damit beschäfftigst, dann kannst du uns ja sicher zeigen was du alles schon versucht hast.
 
Kleiner Tip: In der ASCII-Tabelle sind Groß- und Kleinbuchstaben um 32 verschoben. Wenn es ein Großbuchstabe ist, dann XXX. Wenn es ein Kleinbuchstabe ist, dann YYY.

mfg chmee
 
also ich hab es mit strtolower und strtoupper versucht, aber da werden die buchstaben ja entweder alle klein oder groß!! :(
muss ich da kein array machen, damit halt zB nur die kleinen buchstaben größer werden oder?

sry wenn ich blöde fragen stelle, aber sitzte gerade im büro und muss diese aufgabe lösen. mache seit einem monat ne ausbildung zu fachinformatikerin!! also sryy!!:)
 
Andere Sprachen wie zB python behandeln den direkten Zugriff auf eine Stelle eines Strings wie ein Arrayzugriff. Sprich, Stelle 4 im String anna (also a) wäre unter python variable[3] (Man zählt ab o, nicht 1).

Unter php muß man erstmal aus dem String ein Array machen, das geht mit dem Befehl str_split(). Dann schau Dir mal die foreach()-Schleife an.

(Es hört sich so an, als ob Du lange dran sitzt, aber nix vorweisen kannst ;))
mfg chmee
 
Hi

1) Wandelst du den String in ein Array aus Buchstaben/Zeichen um
2) Gehst du mit foreach jedes Zeichen durch.

Pro Zeichen
1) prüfst du, ob es ein Großbuchstabe ist (ASCII-Tabelle). Dann rechnest du 32 dazu.
2) andernfalls prüfst du, ob es ein Kleinbuchstabe ist. Dann rechnest du 32 weg.
3) Wenn es weder Groß- noch Kleinbuchstabe war (zB. Satzzeichen, Ziffern etc) machst du mit dem Zeichen gar nichts.

Gruß

PS: Netiquette §15 beachten!
 
Ok dann zeig ich mal was:


PHP:
<?php

$original = "Dies ist ein Text";
$neu = "";

for ($a = 0; $a < strlen($original); $a++) {
	if (ctype_upper(substr($original, $a, 1))) {
		$neu .= strtolower(substr($original, $a, 1));
	} else {
		$neu .= strtoupper(substr($original, $a, 1));
	}
}

echo $original;
echo "<br />";
echo $neu;

?>
 
vielen dank tombe******!
kann ich mich immer an sie wenden, wenn ich wieder nicht klar komme****
wäre cool, brauch auch hilfe zu hause, da ich ja das üben muss!
danke!! :)
 
Zurück