假设我有一个字符串:
"\System\Classes\SomeClass"
我想将其转换为:
"\system\classes\someClass"
我该怎么做 - 将每个“\X”转换为“\x”?我应该使用哪个正则表达式,我可以使用正则表达式吗?(据我所知,他们只搜索搜索模式的第一次出现)。
假设我有一个字符串:
"\System\Classes\SomeClass"
我想将其转换为:
"\system\classes\someClass"
我该怎么做 - 将每个“\X”转换为“\x”?我应该使用哪个正则表达式,我可以使用正则表达式吗?(据我所知,他们只搜索搜索模式的第一次出现)。
试试这个 -演示
$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);
您只想将 后面的字母小写\
,对吗?我建议您按照 Ajmal Salim的建议拆分字符串\
,然后在每个字符串上使用。lcfirst($str)
然后你可以再次内爆字符串。所以它会像:
$parts = explode('\\', '\\System\\Classes\\SomeClass');
$parts = array_map(function($item) { return lcfirst($item); }, $parts);
$end = implode('\\', $parts);
如果最后一句话总是上课,可能会这样
$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;