Re: ucfirst



I have abunch of names that I'd like to normalize case-wise. Some are
lowercase (joe jackson), some uppercase (JOE JACKSON), and some correctly
cased (Joe Jackson). ucfirst(strtolower('JOE JACKSON')); works for most
cases, but if there's a name with a hyphen, ie. BILLY-BOB JOHNSON and
jack-bob johnson and Bob-Bob Johnson, they're turned into Billy-bob etc...

Lucky you if "your" names do not have accents signs (meaning é, è, ê and
others) ! Otherwise your method wouldn't work, as it would transform
"STEPHANE" into "Stephane" ("STEPHANE" is correct because capital letters do
not take accents, whereas "Stephane" should be written "Stéphane").

The letter after the hyphen should be uppercased as well, not just the
ones
after space. Anyone got idea how to do this?

A dirty trick :
Replace "-" by "- ".
Then do your ucfirst(strtolower($name));
Them replace back "- " by "-".
That should do it !


BLob


.



Relevant Pages

  • ucfirst
    ... lowercase (joe jackson), some uppercase, and some correctly ... cases, but if there's a name with a hyphen, ie. BILLY-BOB JOHNSON and ... jack-bob johnson and Bob-Bob Johnson, ...
    (comp.lang.php)
  • Re: ucfirst
    ... lowercase (joe jackson), some uppercase, and some correctly ... cases, but if there's a name with a hyphen, ie. BILLY-BOB JOHNSON and ... jack-bob johnson and Bob-Bob Johnson, ... A dirty trick: ...
    (comp.lang.php)