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

Reply via email to