You need to
capitalize, lowercase, or otherwise modify the case of letters in a string. For
example, you want to capitalize the initial letters of names but lowercase the
rest.
1.7.2 Solution
print ucfirst("how do you do today?");
print ucwords("the prince of wales");
How do you do today?
The Prince Of Wales
print strtoupper("i'm not yelling!");
// Tags must be lowercase to be XHTML compliant
print strtolower('<A HREF="one.php">one</A>');
I'M NOT YELLING!
<a href="one.php">one</a>
1.7.3 Discussion
Use ucfirst( ) to capitalize the first character in a
string:
print ucfirst('monkey face');
print ucfirst('1 monkey face');
Monkey face
1 monkey face
Note that the second line of output is not "1 Monkey face".
print ucwords('1 monkey face');
print ucwords("don't play zone defense against the philadelphia 76-ers");
1 Monkey Face
Don't Play Zone Defense Against The Philadelphia 76-ers
As expected, ucwords( ) doesn't capitalize the "t" in
"don't." But it also doesn't capitalize the "e" in "76-ers." For ucwords(
), a word is any sequence of nonwhitespace characters that follows one or
more whitespace characters. Since both ' and - aren't
whitespace characters, ucwords( ) doesn't consider the "t" in "don't"
or the "e" in "76-ers" to be word-starting characters.
Both ucfirst( ) and ucwords( ) don't change
the case of nonfirst letters:
print ucfirst('macWorld says I should get a iBook');
print ucwords('eTunaFish.com might buy itunaFish.Com!');
MacWorld says I should get a iBook
ETunaFish.com Might Buy ItunaFish.Com!
The functions strtolower( ) and strtoupper( ) work on entire strings, not just
individual characters. All alphabetic characters are changed to lowercase by
strtolower( ) and strtoupper( ) changes all alphabetic
characters to uppercase:
print strtolower("I programmed the WOPR and the TRS-80.");
print strtoupper('"since feeling is first" is a poem by e. e. cummings.');
i programmed the wopr and the trs-80.
"SINCE FEELING IS FIRST" IS A POEM BY E. E. CUMMINGS.
When determining upper- and lowercase, these functions respect
your locale settings.