方法1:
$name = 'AppPromoZhongQiu2014ActiveStatusSelector';
echo cc_format($name);
function cc_format($name){
$temp_array = array();
for($i=0;$i<strlen($name);$i++){
$ascii_code = ord($name[$i]);
if($ascii_code >= 65 && $ascii_code <= 90){
if($i == 0){
$temp_array[] = chr($ascii_code + 32);
}else{
$temp_array[] = '_'.chr($ascii_code + 32);
}
}else{
$temp_array[] = $name[$i];
}
}
return implode('',$temp_array);
}
方法2:
echo strtolower(preg_replace('/(?<=[a-z])([A-Z])/', '_$1', 'fooBarB'));
方法3:
private function humpToLine($str){
$str = preg_replace_callback('/([A-Z]{1})/',function($matches){
return '_'.strtolower($matches[0]);
},$str);
return $str;
}
转自:http://www.jb51.net/article/64948.htm , http://www.jb51.net/article/120812.htm
如有其他方法,可以通过留言供大家参考~