我想获取这样的字符串:'this-is-a-string' 并将其转换为:'thisIsAString':
function dashesToCamelCase($string, $capitalizeFirstCharacter = false) {
// Do stuff
return $string;
}
我需要将“kebab-case”转换为“camelCase”。
最佳答案
不需要正则表达式或回调。几乎所有的工作都可以用 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');
关于php - 将带破折号的字符串转换为 camelCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791998/