Stefan: Namensfeld formatieren

Beitrag lesen

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