ID: 8328 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Wont fix Bug Type: Feature/Change Request Operating System: Linux PHP Version: 4.0.3pl1 New Comment:
FYI: you can use mb_convert_case() function that was introduced in 4.3.0 instead of ucwords(). It works exactly as you want. Previous Comments: ------------------------------------------------------------------------ [2001-01-10 01:37:44] [EMAIL PROTECTED] i disagree with the proposed change to ucfirst (which incidentally returns >>"test2" again<<) since, unlike ucwords, it isn't necessarily only used for natural language. ------------------------------------------------------------------------ [2000-12-20 01:03:00] [EMAIL PROTECTED] Another unrelated ucwords/ucfirst bug(?): <?php $string = 'this is a "test" with word "test" in quotes'; print ucwords($string); $string = '"test2" again'; print ucfirst($string); ?> produces: This Is A "test" With Word "test" In Quotes "test2" Again I understand that by algorithm, first character of each word *IS* upper-cased (because first character is "). However, for us humans, " is not considered a part of a word, therefore "t" in above example should be treated as first letter, and test and test2 should be Test and Test2. I think that any non-alphanumeric character that is in the beginning of a word (meaning follows a whitespace) should not be considered as "first". So then: "test1" - 'test2' would be "Test1" - 'Test2' "test3" -'test4' would be "Test3" -'Test4' "test5-test6" would be "Test5-test6" Comments welcome.. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=8328&edit=1