cyborgeek Posted May 30, 2013 Share Posted May 30, 2013 <?php $str = "capitalize "; $str_implode = str_split($str); $caps = true; foreach($str_implode as $key=>$letter){ if($caps){ $out = strtoupper($letter); if($out <> " ") //not a space character $caps = false; echo $str; ?> // I realize this is an error unsure if I need to array() or convert case ?? Quote Link to comment Share on other sites More sharing options...
PravinS Posted May 30, 2013 Share Posted May 30, 2013 Try this $result = str_replace(substr($word,1,1),ucfirst(substr($word,1,1)),$word); Quote Link to comment Share on other sites More sharing options...
Eiseth Posted May 30, 2013 Share Posted May 30, 2013 Use for..loop to loop through each character $string = 'capitalize'; $new = ''; for ($i = 0, $count = strlen($string); $i < $count; $i++) { if ($i == 1) { $new .= strtoupper($string[$i]); } else { $new .= $string[$i]; } } echo $new; Quote Link to comment Share on other sites More sharing options...
requinix Posted May 30, 2013 Share Posted May 30, 2013 str_replace() is wasteful and will only work if you pass a $count=1 argument. A loop to copy the string is even worse. $string = "capitalize"; $string[1] = strtoupper($string[1]); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.