I have names like this:
$str = 'JAMES "JIMMY" SMITH'
I run strtolower, then ucwords, which returns this:
$proper_str = 'James "jimmy" Smith'
I’d like to capitalize the second letter of words in which the first letter is a double quote. Here’s the regexp. It appears strtoupper is not working – the regexp simply returns the unchanged original expression.
$proper_str = preg_replace('/"([a-z])/',strtoupper('$1'),$proper_str);
Any clues? Thanks!!
Use the e modifier to have the substitution be evaluated:
Where
$0contains the match of the whole pattern, so"and the lowercase letter. But that doesn’t matter since the"doesn’t change when send throughstrtoupper.