Own products

  • 新規事業のアイディア創造機

Introduce

2010
07/26

PHPで文字列内の指定した文字数目に、指定した文字を挿入する関数「wordwrap()」

この記事の読了時間:約226

  • このエントリーをはてなブックマークに追加

自作プログラムを嗜んでいた際に探し当てた、もしかしたらちょっと知名度の低そうなPHP文字挿入関数をご紹介。

例えば「12ケタの数字の、4文字ごとにハイフンを入れたい」とか「10文字の文字列の、8文字目に改行したい」みたいな、特定の文字数目に何らかの文字挿入したい場合に使える、PHP4系から使用可能な関数です。

これ覚えとけば、substr()で分割 → 挿入したい文字列を加えて結合、みたいな力技を使わなくて済むかもですよー。

文字列内の指定した文字数目に、指定した文字を挿入する関数「wordwrap()」

wordwrap(“対象の文字列”, “指定の文字数”, “挿入する文字”, true/false);

細かな解説はマニュアルを参照していただくとして、注意点としては、この関数「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;
//出力結果 → 稲ハァハァ垣ハァハァ早ハァハァ希

まぁ最後の例はマイブームの一環として放置していただき、ご紹介の筆を置かせていただきます。

この記事で一番伝えたかったのは「稲垣早希ちゃんはカワイイ!」という一点に尽きるというコトは言うまでも無い。
  • このエントリーをはてなブックマークに追加

コメントを投稿する

お名前

ご連絡先メールアドレス※非公開

コメント

  • このブログのRSSを購読する
  • このブログをtwitterでつぶやく
  • このブログをFacebookで共有する
  • このブログをはてなブックマークで共有する

Contact

お名前※必須

ご連絡先メールアドレス

お問い合わせ内容※必須

CAPTCHA

captcha

Blog parts

Affiliate