Hallo,
Ich möchte ein Namensfeld, das mit "$name = $_POST["name"]" übergeben wurde, so formatieren, dass alle Anfangsbuchstaben gross, der Rest aber klein geschrieben wird.
Mein Ansatz sieht folgendermassen aus:
$name = preg_replace("/ +/", '', $name);
$einzelname = explode (" ", $name);
for ($i = 0; $i < count ($einzelname); $i++)
{
$anfangsbuchstabe = $einzelname$i;
$anfangsbuchstabe = strtoupper($anfangsbuchstabe);
$rest = substr ($einzalname[$i], 1, strlen($einzelname[$i]);
$rest = strtolower($rest);
$einzelname[$i] = $anfangsbuchstabe.$rest;
}
for ($i = 0; $i < count ($einzelname); $i++)
{
if (in_array("-", $einzelname[$i])
{
$einzelname = explode ("-", $name);
for ($i = 0; $i < count ($einzelname); $i++)
{
$anfangsbuchstabe = $einzelname$i;
$anfangsbuchstabe = strtoupper($anfangsbuchstabe);
$rest = substr ($einzalname[$i], 1, strlen($einzelname[$i]);
$rest = strtolower($rest);
$einzelname[$i] = $anfangsbuchstabe.$rest;
}
}
}
$name = "";
for ($i = 0; $i < count ($einzelname); $i++)
$name = $name.$einzelname[$i];
Bezüglich der Methode, den Anfangsbuchstaben eines Array-Elementes mit "$einzelname$i" herauszufinden, bin ich sehr skeptisch.
Kann der Code so funktionieren ?
Gibt es noch eine andere, einfachere oder/und kürzere Variante ?
Man möge mir meine Fehler oder die umständliche Programmierung verzeihen, ich bin noch ein "PHP-Greenhorn", das aber schon jetzt von den Möglichkeiten, die PHP einem bietet, restlos überzeugt ist :-)
Vielen Dank.
Stefan