今日の人気記事

  1. HTML内でPHPスクリプトを実行 - 埋め込み
  2. PHPのダウンロードとインストール - Windows環境
  3. PHP + Apache 環境の構築
  4. PHP + Apacheのインストール - Linux環境 - CentOS
  5. 半角 ⇔ 全角 変換 - mb_convert_kana()

文字列を指定した幅に調節 - mb_strimwidth()

スポンサーリンク

Webプログラミング言語PHPで、指定した文字列を指定した幅に調節する(丸める)mb_strimwidth関数を紹介します。

mb_strimwidth関数

string mb_strimwidth ( string $string , int $start , int $width [, string $trimmarker [, string $encoding ]] )
指定した文字列を指定した幅に調節します(丸めます)。
引数
$string
調節する文字を指定します。
$start
調節する文字列の位置を指定します。省略した場合は文字列の最初「0」から調節します。
$width
調節する文字列の幅を指定します。
$trimmarker
調節した文字列の末尾に追加する文字列を指定します。
$encoding
調節する文字列のエンコーディングを指定します。
省略した場合は内部エンコーディングを使います。
返り値
調節した文字列を返します。
マルチバイト文字はバイト文字の倍の幅を指定する必要があります。

内部エンコーディングの設定はこちら » 日本語環境の設定 - mbstring

スポンサーリンク

サンプルコード - 文字列の幅を調節

指定した文字列の幅を調節するサンプルコードです。

mb_strimwidth( 調節する文字列, 調整文字列の開始位置, 文字列の幅 )
<?php
/* 文字列の幅を調節 */
$string = "abcdefghijk";
var_dump(mb_strimwidth($string, 0, 5));
$string = "ABCD文字列の幅";
var_dump(mb_strimwidth($string, 0, 8));
?>

実行結果です。

string(5) "abcde"
string(10) "ABCD文字"

指定した文字列が指定した幅に調節されています。マルチバイト文字はバイト文字の倍として換算されるので、「ABCD」の幅「4」、「文字」の幅「4」として調節されています。

サンプルコード - 調節した文字列の末尾に文字列を追加

指定した文字列の幅を調節し、末尾に文字列を追加するするサンプルコードです。

mb_strimwidth( 調節する文字列, 調整文字列の開始位置, 文字列の幅, 末尾に追加する文字列 )
<?php
/* 調節した文字列の末尾に文字列を追加 */
$string = "abcdefghijk";
var_dump(mb_strimwidth($string, 0, 5, "..."));
$string = "ABCD文字列の幅";
var_dump(mb_strimwidth($string, 0, 8, "!"));
?>

実行結果です。指定した文字列が指定した幅に調節され、文字列の末尾に文字列が追加されています。追加する文字列も指定した文字列の幅に含まれるので、注意が必要です。

string(5) "ab..."
string(10) "ABCD文!"
スポンサーリンク