将每个特定字母转换为大写

时间:2012-12-01 11:36:07

标签: php

假设我有一个字符串:

"\System\Classes\SomeClass"

我希望将其转换为:

"\system\classes\someClass"

我该怎么做 - 将每个“\ X”转换为“\ x”?我应该使用哪个正则表达式,我可以使用正则表达式吗? (据我所知,他们只搜索搜索模式的第一次出现)。

3 个答案:

答案 0 :(得分:1)

试试这个 - DEMO

$string = "\System\Classes\SomeClass";
$array  = explode("\\", $string);

for ( $i = 0, $len = sizeof($array); $i < $len; $i++ ) {
    $array[$i] = lcfirst($array[$i]);
}

$new_string  = implode("\\", $array);

答案 1 :(得分:1)

您希望仅在\后面小写字母,对吧?我建议你将字符串拆分为\,然后在Ajmal Salim建议的每一个上使用lcfirst($str)。然后你可以再次破坏字符串。所以它会像:

$parts = explode('\\', '\\System\\Classes\\SomeClass');
$parts = array_map(function($item) { return lcfirst($item); }, $parts);
$end   = implode('\\', $parts);

答案 2 :(得分:1)

如果最后一个单词总是

,也许这样
$str="\System\Classes\SomeClass";
$str2=strtolower($str);
$strArr=explode("\\",$str2);

$newStr=preg_replace('~class~','Class',$strArr[3]);
$complete=$strArr[1].'\\'.$strArr[2].'\\'. $newStr;
echo $complete;