2010年3月26日金曜日

PHPでcamelizeとunderscore


ちゃちゃっと!eval(preg_matchのcallback)は使わず関数の組み合わせで。5.3使いたい><

// アンダースコアをキャメルケース
function camelize($str) { return str_replace(' ','',ucwords(str_replace('_',' ',$str)));}
// キャメルケースをアンダースコアに
// 5.3以前
function underscore($str) {return strtolower(preg_replace('/(?!^)[A-Z]/', '_$0', $str));}
// 5.3
function underscore($str) {return strtolower(preg_replace('/[A-Z]/', '_$0', lcfirst($str)));}

//実行結果
camelize('aiue_eo'); // AiuEo
underscore(camelize('aiue_eo')); //aiu_eo

0 件のコメント: