今日の人気記事

  1. 変数を文字列型に変換 - strval関数

文字列を指定した幅に調節 - 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文!"

文字列 の人気記事

  1. 文字列の長さを取得 - strlen()、mb_strlen()
  2. 配列を文字列に変換する - implode()
  3. 文字列が最初に現れる場所を取得 - strpos()、mb_strpos()
  4. 文字列が最後に現れる場所を取得 - strrpos()、mb_strrpos()
  5. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
  6. 文字列をURLエンコード・デコード - urlencode()、urldecode()
  7. PHP関数リファレンス

関連記事(一部広告含む)