Hannes
Hannes

Reputation: 55

need capitalize words with special chars in PHP

ucwords doesn't capitalize foreign chars like öüäõ

so I need a solution, which will make "öösel" into "Öösel"

Is there a simple way to do it with regexp or I have to check all the characters manually?

Upvotes: 5

Views: 4226

Answers (3)

Dean Harding
Dean Harding

Reputation: 72638

If you have the mbstring extension installed, you can use the mb_convert_case function, specifying MB_CASE_TITLE as the $mode parameter.

Upvotes: 9

SilverbackNet
SilverbackNet

Reputation: 2074

Aside from the other answers, which suffer from the same problems as ucwords, you might take a look at keeping this variation in your toolbox.

Upvotes: 0

Nabab
Nabab

Reputation: 2644

You can give a try to strtoupper() which works fine for me with French.
Sorry I hadn't seen it was ucwords...

Otherwise, this should work:

mb_convert_case($string, MB_CASE_TITLE, "UTF-8");

Upvotes: 5

Related Questions