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
have you tried it w/ ucfirst?
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
PHP Code:
function ucFirstWithParenthesis ( $string ){
$temp = str_replace ( "(" , "( " , $string );
$temp = ucwords ( $temp );
return $temp ;
}
Not tested.
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
knew i forgot something. glad i mentioned not tested and you knew what to do cheers!
PHP Code:
<?php
$target = 'a (string with brackets).' ;
echo preg_replace ( '/\b[a-z]/e' , "strtoupper('$0')" , $target );
?>
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
/ : 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.
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
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.
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!
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
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.
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
PHP Code:
$nedit = preg_replace ( '/(?<!\')\b[a-z]/e' , "strtoupper('$0')" , $nedit );
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
Forum Rules
Bookmarks