【全角対応】文字列の右を空白で埋めて固定長(等幅)にする【php】

オンラインショップなどのメールでは、HTMLメールも増えてきましたが、日本の場合は受注メールを別の会計システムに取り込むなどの要請から、まだまだTEXTメールが主流です。で、そのさいに等幅フォントで文章体裁を整えるときに、空白で文字の幅を整えたい時があります。

で、そのさいに使う関数を作成したので自分用にメモしておきます。

使い方としては以下のように使います。

もし、成型前の文字列が、揃えたい長さよりも長い場合には、そのまま成型前の文字列が返ってきます。

この関数のポイント – どこが全角対応なのか

普通、phpで文字列を分割するときは explode() 関数を使うんですが、こいつは日本語や絵文字に対応してなくて、上手く分割することができません。

そこで、この関数では正規表現による分割、かつ「文字列をUTF-8として解釈する」というフラグを付けることによって、絵文字や全角文字でも正しく1文字づつ分割できるようにしています。

参考になれば幸いです。

カテゴリーPHP

質問・コメントなどあればどうぞ