【PHP】指定した幅で文字列を丸める関数「mb_strimwidth()」

  • 2018年6月7日
  • PHP

本日は、他の人が書いたソースコードを読んでいて発見したPHPの関数「mb_strimwidth()」について。
「この関数見たことないな?何だろう?」と調べたところ、指定した幅で文字列を丸めてくれるとのことで…とっても便利そうな関数でした。
もう少し早くに出会いたかった…!

PHPマニュアルの mb_strimwidth()関数についてのページはこちらから。

PHP: mb_strimwidth-Manual
http://php.net/manual/ja/function.mb-strimwidth.php

 

さて、具体的な使い方は、下記のとおりです。

$text = mb_strimwidth("丸めたいテキストを指定", 0, 20, "....", "UTF-8");

上のコードを実行すると、「丸めたいテキスト….」という結果になります。
どうやら第3引数の丸めた後のテキスト幅は、第4引数の文字数を丸めた後に追加する文字列まで含めた数で、かつ半角でカウントした場合のようです。
なお、第5引数の文字コードは指定しておくと、文字化けしなくなるとのことなので、出来る限り指定したほうがよさそうです。
こちらについては、下記のサイトが分かりやすかったです。

指定した文字数で文字列をまるめるPHPの関数 mb_strimwidth で、第4引数に「文字列をまるめた後に付加する文字列を指定」する際、色々気を付けないと文字化けるよ、というお話。|ITキヲスク
http://smkn.xsrv.jp/blog/2013/03/mb_strimwidth-function-tips/

 

以上、mb_strimwidth() で文字列を丸める方法でした。
以前の記事で、JavaScriptで文字列を丸める方法についても紹介しましたが、こちらの方が便利そうですね。
今後はこちらを積極的に使うようにしたいと思います。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG