字符串处理(单词首字母大写,数字与字母用下划线隔开,多个空格合并)

来源:互联网 发布:ios数据恢复工具 编辑:程序博客网 时间:2024/04/30 06:42
<?phpfunction doString($str){$strarr = explode(' ', $str);foreach ($strarr as $k => $v) {if ($v == '') {unset($strarr[$k]);} }$strarr = array_values($strarr);foreach ($strarr as $k => $v) {$strarr[$k] = ucfirst($v);}foreach ($strarr as $k => $v) {$len = strlen($v);for ($j=0; $j<$len; $j++) {$arr[$k][] = $v[$j];}for ($i= 0; $i < $len; $i++) {if (is_numeric($arr[$k][$i])) {if ($i > 0 && is_string($arr[$k][$i-1]) && !is_numeric(substr($arr[$k][$i-1],-1))) {$arr[$k][$i] = '_'.$arr[$k][$i];}if ($i < $len-1 && is_string($arr[$k][$i+1]) && !is_numeric($arr[$k][$i+1])) {$arr[$k][$i] = $arr[$k][$i].'_';$arr[$k][$i+1] = strtoupper($arr[$k][$i+1]);}}}}foreach ($arr as $key => $value) {$arr[$key] = implode($value, '');}$arr = implode($arr, ' ');return $arr;}$str = 'this is   a    do45g123ooo';var_dump(doString($str));

0 0