将带破折号的字符串转换为驼峰大小写更新
我想取一个这样的字符串:'this-is-a-string'并将其转换为:'thisIsAString':
function dashesToCamelCase($string, $capitalizeFirstCharacter = false) {
// Do stuff
return $string;
}
我需要将“烤肉串”转换为“骆驼盒”。
我想取一个这样的字符串:'this-is-a-string'并将其转换为:'thisIsAString':
function dashesToCamelCase($string, $capitalizeFirstCharacter = false) {
// Do stuff
return $string;
}
我需要将“烤肉串”转换为“骆驼盒”。
无需正则表达式或回调。几乎所有的工作都可以用ucwords完成:
function dashesToCamelCase($string, $capitalizeFirstCharacter = false)
{
$str = str_replace(' ', '', ucwords(str_replace('-', ' ', $string)));
if (!$capitalizeFirstCharacter) {
$str[0] = strtolower($str[0]);
}
return $str;
}
echo dashesToCamelCase('this-is-a-string');
如果您使用的是 PHP >= 5.3,则可以使用 lcfirst 而不是 strtolower。
在 PHP 5.4.32/5.5.16 中,第二个参数被添加到 ucwords 中,这意味着我们不需要先将破折号更改为空格(感谢 Lars Ebert 和 PeterM 指出了这一点)。以下是更新的代码:
function dashesToCamelCase($string, $capitalizeFirstCharacter = false)
{
$str = str_replace('-', '', ucwords($string, '-'));
if (!$capitalizeFirstCharacter) {
$str = lcfirst($str);
}
return $str;
}
echo dashesToCamelCase('this-is-a-string');
这可以非常简单地完成,通过使用接受分隔符作为参数的ucwords:
function camelize($input, $separator = '_')
{
return str_replace($separator, '', ucwords($input, $separator));
}
注意:需要 php 至少 5.4.32, 5.5.16