【发布时间】:2010-04-14 14:42:28
【问题描述】:
我有这样的名字:
$str = 'JAMES "JIMMY" SMITH'
我运行strtolower,然后运行ucwords,它返回:
$proper_str = 'James "jimmy" Smith'
我想将第一个字母是双引号的单词的第二个字母大写。这是正则表达式。看来 strtoupper 不起作用 - 正则表达式只是返回未更改的原始表达式。
$proper_str = preg_replace('/"([a-z])/',strtoupper('$1'),$proper_str);
有什么线索吗?谢谢!!
【问题讨论】:
-
你期待什么输出?
-
我认为:詹姆斯“吉米”史密斯。目前 ucwords() 没有将 Jimmy 的第一个字母大写,因为它不能将双引号识别为单词边界字符。