homer.favenir Posted August 27, 2009 Share Posted August 27, 2009 hi, how can i make a character capitalize after each . and -? $str = "im.always-here, and-will always.be"; i want each the character after period and dash to be capitalize "im.Always-Here, and-Wil always.Be" please kindly help thanks Quote Link to comment https://forums.phpfreaks.com/topic/172083-solved-ucfirst-the-next-character/ Share on other sites More sharing options...
Garethp Posted August 27, 2009 Share Posted August 27, 2009 $content = preg_replace('~(\.|-)(\s)([a-z])~', strtoupper('$1$2$3'), $content); But I'm still kinda knew to this, so this might not be the right/best answer Quote Link to comment https://forums.phpfreaks.com/topic/172083-solved-ucfirst-the-next-character/#findComment-907318 Share on other sites More sharing options...
homer.favenir Posted August 27, 2009 Author Share Posted August 27, 2009 it didnt work... Quote Link to comment https://forums.phpfreaks.com/topic/172083-solved-ucfirst-the-next-character/#findComment-907320 Share on other sites More sharing options...
nrg_alpha Posted August 27, 2009 Share Posted August 27, 2009 Perhaps: $str = "im.always-here, and-will always.be"; $str = preg_replace('#[.-][a-z]#e', 'strtoupper(\'$0\')', $str); @Gareth, When using an alternation like (\.|-), you can simply use a character class instead [.-]. You have a space in between, but the requirement is to capitalize each character after . and -... if you look at the OP's example, notice that not all these characters precede a space. so it is better to simply look for a lowercase alpha character after the . or -. When using php functionality in the replace, you should use the 'e' modifier. More importantly, you should test your regex first Quote Link to comment https://forums.phpfreaks.com/topic/172083-solved-ucfirst-the-next-character/#findComment-907321 Share on other sites More sharing options...
Garethp Posted August 27, 2009 Share Posted August 27, 2009 Thanks! I'll make sure to take that into consideration from now on! Quote Link to comment https://forums.phpfreaks.com/topic/172083-solved-ucfirst-the-next-character/#findComment-907323 Share on other sites More sharing options...
homer.favenir Posted August 27, 2009 Author Share Posted August 27, 2009 great! thank your very much! it works like a charm! Quote Link to comment https://forums.phpfreaks.com/topic/172083-solved-ucfirst-the-next-character/#findComment-907327 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.