何となく懐かしい気分で作ってみました。CakePHP 上で動作テストしました。
Ex. 2503524261→こんにちは
スポンサードリンク
// pb code to string by pc.casey.jp, GPL function pbcode_to_string(){ // init if(empty($this->data['Code'])) return; // test data // $keys = '364936'; $keys = $this->data['Code']; $matrix= 'default'; // for ext. // code load $codes = $this->_getPbCodes(); // check $error = null; if(strlen($keys) % 2 != 0) $error = 'OffsetError'; if(!ereg('^([0-9])+$', $keys)) $error = 'StringError'; if(!array_key_exists($matrix, $codes)) $error = 'MatrixError'; // error report and process stop if($error){ $this->set('error', $error); return; } // to strings $ret = null; for($i=0; $i<strlen($keys); $i++){ $key = substr($keys, $i, 2); // $str, start, length $ret .= $codes[$matrix][$key]; $i++; } // output //debug($ret); $this->set('result', $ret); } function _getPbCodes(){ return $codes = array( 'default' => array( 11=>'あ', 12=>'い', 13=>'う', 14=>'え', 15=>'お', 21=>'か', 22=>'き', 23=>'く', 24=>'け', 25=>'こ', 31=>'さ', 32=>'し', 33=>'す', 34=>'せ', 35=>'そ', 41=>'た', 42=>'ち', 43=>'つ', 44=>'て', 45=>'と', 51=>'な', 52=>'に', 53=>'ぬ', 54=>'ね', 55=>'の', 61=>'は', 62=>'ひ', 63=>'ふ', 64=>'へ', 65=>'ほ', 71=>'ま', 72=>'み', 73=>'む', 74=>'め', 75=>'も', 81=>'や', 82=>'(', 83=>'ゆ', 84=>')', 85=>'よ', 91=>'ら', 92=>'り', 93=>'る', 94=>'れ', 95=>'ろ', '01'=>'わ', '02'=>'を', '03'=>'ん', '04'=>'゛', '05'=>'゜', 16=>'A', 17=>'B', 18=>'C', 19=>'D', 10=>'E', 26=>'F', 27=>'G', 28=>'H', 29=>'I', 20=>'J', 36=>'K', 37=>'L', 38=>'M', 39=>'N', 30=>'O', 46=>'P', 47=>'Q', 48=>'R', 49=>'S', 40=>'T', 56=>'U', 57=>'V', 58=>'W', 59=>'X', 50=>'Y', 66=>'Z', 67=>'?', 68=>'!', 69=>'-', 60=>'/', 76=>'¥', 77=>'&', 78=>'[CLOCK]', 79=>'[TEL]', 70=>'[CUP]', 86=>'*', 87=>'#', 88=>' ', 89=>'[HEART]', 80=>' ', 96=>'1', 97=>'2', 98=>'3', 99=>'4', 90=>'5', '06'=>'6', '07'=>'7', '08'=>'8', '09'=>'9', '00'=>'0', ), ); }
コメント