【发布时间】:2011-08-01 08:39:52
【问题描述】:
这就是我想要做的。我有页面的标题。我正在尝试将每个字符串中第一个单词的最后一个字母大写
例子:
哎哟
你好吗
我可以用一个词让它工作,但如果有多个词,我不知道该怎么做。任何帮助都会很棒!
非常感谢!
【问题讨论】:
-
为什么,为什么,这是正常的语法。
-
尝试向我们展示您当前拥有的代码。
标签: php capitalization
这就是我想要做的。我有页面的标题。我正在尝试将每个字符串中第一个单词的最后一个字母大写
例子:
哎哟
你好吗
我可以用一个词让它工作,但如果有多个词,我不知道该怎么做。任何帮助都会很棒!
非常感谢!
【问题讨论】:
标签: php capitalization
【讨论】:
由于您知道如何处理 1 个单词,因此您只需要获取第一个单词,然后输入您的算法。
preg_replace_callback 和"/^(\w+)/"
preg_replace_callback:http://php.net/manual/en/function.preg-replace-callback.php
更新 - 工作代码:
$string = "This is a test";
$string = preg_replace_callback(
'/^(\w+)/',
create_function(
'$matches',
'return yourUCLastAlgorithm($matches[0]);'
),
$string
);
echo $string;
UPDATE2 - 使用带有 e 修饰符的 preg_replace:
$string = "This is a test";
$string = preg_replace(
'/^(\w+)/e',
'yourUCLastAlgorithm("$1")',
$string
);
echo $string;
【讨论】:
试试这个:
$string = preg_replace('/^([ ]+)?([^ ]*)([a-z])?(.*)?$/i', "$1.$2.strtoupper($3).$4", $string);
【讨论】:
This is a test => .This.strtoupper(). is a test 发帖前请确认。