Introduce
この記事の読了時間:約2分26秒
自作プログラムを嗜んでいた際に探し当てた、もしかしたらちょっと知名度の低そうなPHPの文字挿入用関数をご紹介。
例えば「12ケタの数字の、4文字ごとにハイフンを入れたい」とか「10文字の文字列の、8文字目に改行したい」みたいな、特定の文字数目に何らかの文字を挿入したい場合に使える、PHP4系から使用可能な関数です。
これ覚えとけば、substr()で分割 → 挿入したい文字列を加えて結合、みたいな力技を使わなくて済むかもですよー。
細かな解説はマニュアルを参照していただくとして、注意点としては、この関数「wordwrap()」は基本的に、”単語単位”で”繰り返されて”使われるコトを念頭において作られてるようで、最後のパラメータにtrueを指定しないと(デフォルトはfalse)、”単語単位”の部分をPHP側で勝手な判断しちゃったりして、意図しない結果になる場合があります。
また、”繰り返される”という特性があるので、「12ケタの数字の、4文字目 だ け ハイフンを入れたい」って場合は使えません。
あと毎度恒例、マルチバイトな日本語文字列と半角英数字が混じる場合、うまく動作しないかもです。
以下、サンプルをば。
/* 12ケタの数字の、4文字ごとにハイフンを入れたい */ $str = "123456789012"; $wordwrapStr = wordwrap($str, 4, "-", true); echo $wordwrapStr; //出力結果 → 1234-5678-9012 /* 10文字の文字列の、8文字目に改行したい */ $str = "abcdefghij"; $wordwrapStr = wordwrap($str, 8, "<br>\n", true); echo $wordwrapStr; //出力結果 → abcdefgh //ij $str = "稲垣早希"; $wordwrapStr = wordwrap($str, 2, "ハァハァ", true); echo $wordwrapStr; //出力結果 → 稲ハァハァ垣ハァハァ早ハァハァ希
まぁ最後の例はマイブームの一環として放置していただき、ご紹介の筆を置かせていただきます。
関連する記事
同じカテゴリーの記事
コメントを投稿する