www.webdeveloper.com
Page 1 of 3 123 LastLast
Results 1 to 15 of 39

Thread: ucwords

  1. #1
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287

    ucwords

    Using this function, How can I get it so that it will uppercase the first letter after a parentheses, (a cat) would become (A Cat), and not (a Cat).
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  2. #2
    Join Date
    Aug 2005
    Location
    The Garden State
    Posts
    5,634
    have you tried it w/ ucfirst?
    Acceptable Use | SQL Forum FAQ | celery is tasteless | twitter

    celery is tasteless - currently needing some UI time

  3. #3
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287
    That only upper cases the first letter of the string, not every letter of each word.
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  4. #4
    Join Date
    Aug 2005
    Location
    The Garden State
    Posts
    5,634
    PHP Code:
    function ucFirstWithParenthesis($string){
    $temp str_replace("(","( ",$string);
    $temp ucwords($temp);
    return 
    $temp;

    Not tested.
    Acceptable Use | SQL Forum FAQ | celery is tasteless | twitter

    celery is tasteless - currently needing some UI time

  5. #5
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287
    It half way worked, so I modifyed it to look like this:


    PHP Code:
    function edit_name($edit){
        
    $nedit str_replace("(","( ",$edit); 
        
    $temp ucwords($nedit); 
        
    $nedit str_replace("( ","(",$temp); 
        return 
    $nedit;

    That works.^
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  6. #6
    Join Date
    Aug 2005
    Location
    The Garden State
    Posts
    5,634
    knew i forgot something. glad i mentioned not tested and you knew what to do cheers!
    Acceptable Use | SQL Forum FAQ | celery is tasteless | twitter

    celery is tasteless - currently needing some UI time

  7. #7
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,739
    PHP Code:
    <?php


    $target 
    'a (string with brackets).';
    echo 
    preg_replace('/\b[a-z]/e'"strtoupper('$0')"$target);

    ?>

  8. #8
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287
    Can someone explaine to me what this means: /\b[a-z]/e

    and what each of the symbols are for.
    Last edited by The Little Guy; 09-29-2006 at 12:45 PM.
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  9. #9
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,739
    /: delimiter
    \b: word boundary
    [a-z]: one character, lower case, a thru z
    /: delimiter
    e: "e" modifier, used with preg_replace, orders the second argument to be evaluated.

  10. #10
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287
    So... If I would like to uppercase the letter after a period would I use this:
    preg_replace('/\b./e', "strtoupper('$0')", $target);

    And if I would like to uppercase the letter after a hyphen would I use this:
    preg_replace('/\b-/e', "strtoupper('$0')", $target);
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  11. #11
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,739
    Quote Originally Posted by The Little Guy
    So... If I would like to uppercase the letter after a period would I use this:
    preg_replace('/\b./e', "strtoupper('$0')", $target);
    No! For a start an unescaped dot in PCRE is a wildcard. Also even if it were an escaped dot all you would be capturing would be a dot.

    Quote Originally Posted by The Little Guy
    And if I would like to uppercase the letter after a hyphen would I use this:
    preg_replace('/\b-/e', "strtoupper('$0')", $target);
    All you are capturing here is a hyphen.

    For me to give useful help about this you will need to post a before and after example!

  12. #12
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287
    Before:
    one-x
    a.s.a.p.

    After:
    One-X
    A.S.A.P.
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  13. #13
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,739
    That is because every character in that string is at a word boundry and is matched by a wildcard. Doesn't make it right though.

  14. #14
    Join Date
    Apr 2003
    Location
    Rosemount, MN
    Posts
    2,287
    PHP Code:
    $nedit preg_replace('/\b[a-z]/e'"strtoupper('$0')"$nedit); 
    I believe that this is making anything after an ' become uppercase.
    Example:
    So the word don't becomes Don'T and I want it to become Don't.

    Is there a way to remove that from happening with this line? Otherwise I will add a str_replace.
    My settings

    Browser :: FireFox 1.5
    Resolution :: 1152x864
    Connection :: Cable Modem 2Mbs

  15. #15
    Join Date
    Jan 2005
    Location
    Alicante (Spain)
    Posts
    7,739

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles