我想把一个字符串:'this-is-a- string‘转换为:'thisIsAString':
function dashesToCamelCase($string, $capitalizeFirstCharacter = false) {
// Do stuff
return $string;
}
我需要把“烤肉串”转换成"camelCase“。
发布于 2010-05-08 06:24:24
不需要正则表达式或回调。几乎所有的工作都可以用ucword来完成:
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');
如果你使用的是PHPstrorer5.3,你可以使用lcfirst而不是>=。
更新
第二个参数被添加到PHP5.4.32/5.5.16中的ucword中,这意味着我们不需要首先将破折号改为空格(感谢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');
发布于 2016-07-26 13:28:20
重载的一行程序,带有文档块...
/**
* Convert underscore_strings to camelCase (medial capitals).
*
* @param {string} $str
*
* @return {string}
*/
function snakeToCamel ($str) {
// Remove underscores, capitalize words, squash, lowercase first.
return lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $str))));
}
发布于 2010-05-08 06:23:31
我可能会使用preg_replace_callback()
,如下所示:
function dashesToCamelCase($string, $capitalizeFirstCharacter = false) {
return preg_replace_callback("/-[a-zA-Z]/", 'removeDashAndCapitalize', $string);
}
function removeDashAndCapitalize($matches) {
return strtoupper($matches[0][1]);
}
https://stackoverflow.com/questions/2791998
复制相似问题