Avatar billede proff Nybegynder
09. januar 2005 - 00:44 Der er 7 kommentarer og
1 løsning

En php funktion der gør bogstaver store?

Hvis jeg nu har et navn der bliver posted $_POST["navn"].
$_POST["navn"] = indeholder så: "jesper andersen"

Så vil jeg gerne have en funktion der gør det til "Jesper Andersen"
Og lægger det i en variabel :)

Hvordan gør jeg det?
Avatar billede morteeart Nybegynder
09. januar 2005 - 00:48 #1
Avatar billede moocher Nybegynder
09. januar 2005 - 00:50 #2
Fra php.net

<?php

  function FormatName($name=NULL)
  {
      if (empty($name))
          return false;

      $name = strtolower($name);
      $name = preg_replace("[\-]", " - ",$name); // Surround hyphens with our delimiter so our strncmp is accurate
      if (preg_match("/^[a-z]{2,}$/i",$name))  // Simple preg_match if statement
      {
         
          $names_array = explode(' ',$name);  // Set the delimiter as a space.
 
          for ($i = 0; $i < count($names_array); $i++)
          {
              if (strncmp($names_array[$i],'mc',2) == 0 || ereg('^[oO]\'[a-zA-Z]',$names_array[$i]))
              {
                  $names_array[$i][2] = strtoupper($names_array[$i][2]);
              }
              $names_array[$i] = ucfirst($names_array[$i]);
             
          }
 
          $name = implode(' ',$names_array);
          $name = preg_replace("[ \- ]", "-",$name); //  Remove the extra instances of our delimiter
          return ucwords($name);
         
      }
  }

?>
Avatar billede moocher Nybegynder
09. januar 2005 - 00:51 #3
morteeart --> Okay havde samme ide  :)
Avatar billede morteeart Nybegynder
09. januar 2005 - 00:54 #4
nåå ja, http://se.php.net/ucwords er jo faktisk smartere, den Ucfist kun er til den først, hvor ucwords er til alle først i hvert ord.
Avatar billede morteeart Nybegynder
09. januar 2005 - 00:55 #5
anyway, jeg samler ikke på point, såå :)
Avatar billede moocher Nybegynder
09. januar 2005 - 00:56 #6
;)
Avatar billede hmortensen Nybegynder
09. januar 2005 - 01:54 #7
Du skal lige være opmærksom på at ucwords() ikke påvirker æøå med mindre der sættes dansk locale (Det kan godt være at den hedder noget andet. Der er forskel, afhængig af hvilken server der benyttes. Denne virker på freeBSD):

$str = "åse æskildsen";
echo ucwords($str)."<br />";
setlocale (LC_ALL, 'da_DK.ISO8859-1');
echo ucwords(strtolower($str));
Avatar billede proff Nybegynder
08. april 2007 - 13:30 #8
Lukning forsinket en årrække .-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester