PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのmb_strimwidth関数とは?文字列を指定した幅で切り詰める方法

PHPのmb_strimwidth()関数は、マルチバイト文字列を指定した幅で切り詰めるための関数です。日本語などのマルチバイト文字を含む文字列でも、文字化けを起こさずに安全にトリミングできるのが特徴です。ブログ記事の一覧表示や、長いテキストの抜粋(要約)を作成する際などによく使われます。

構文

string mb_strimwidth($str_string, $int_start, $int_width, $str_trim_marker, $str_encoding)

使用例は以下のとおりです。

mb_strimwidth($str_string: "PHP Tutorials", $int_start: 2, $int_width: 10, $str_trim_marker: "...",);

パラメータ

mb_strimwidth()関数は、文字列の幅を切り詰めるために5つのパラメータを受け取ります。

  • $str_string − 切り詰め対象となる元の文字列を指定します。

  • $int_start − 切り詰めを開始する位置を整数で指定します。文字列の先頭から数えた位置以降が対象になります。

  • $int_width − 切り詰め後の希望する幅を指定します。負の値を指定した場合は、文字列の末尾から数えた位置として扱われます。

  • $str_trim_marker − 文字列が切り詰められた場合に、末尾に追加される文字列(省略記号など)を指定します。省略可能です。

  • $str_encoding − 文字エンコーディングを指定します。省略またはNULLを指定した場合は、内部エンコーディングの設定値が使用されます。

戻り値

mb_strimwidth()は、切り詰められた文字列を返します。trim_markerを指定した場合は、指定した幅に収まるように末尾の文字が置き換えられます。

サンプルコード

<?php

   // UTF-8エンコーディングを設定
   mb_internal_encoding("UTF-8");

   // 文字列を指定した幅で切り詰める
   $str_string = mb_strimwidth("Simply Easy Learning!", 2, 15, "...");

   // 結果を出力
   echo "$str_string";

?>

実行結果

上記のコードを実行すると、以下の出力が得られます。

mply Easy Le...

補足 − 上記のPHPコードでは、文字列の2番目の文字から12番目の文字までを切り詰めています。文字エンコーディングは内部エンコーディング(UTF-8)が使用されています。


  1. PHPのstr_pad()関数とは?文字列のパディング方法をわかりやすく解説

    PHPのstr_pad()関数は、文字列を指定した長さまで特定の文字で埋め(パディング)、新しい長さの文字列を返す関数です。文字列の左側・右側・両側に任意の文字を追加したい場合に便利です。 基本構文 str_pad(str, len, pad_str, pad_type) パラメータの詳細 str − パディング対象となる元の文字列を指定します。 len − パディング後の新しい文字列の長さを指定します。 pad_str − 埋め合わせに使用する文字列(パディング文字)を指定します。省略した場合は半角スペースが使用されます。 pad_type − 文字列のどちら側にパディングするかを指定しま

  2. PHPのquoted_printable_encode()関数の使い方を徹底解説

    PHPのquoted_printable_encode()関数は、8ビット文字列をquoted-printable形式の文字列に変換するための組み込み関数です。quoted-printableはMIME(Multipurpose Internet Mail Extensions)で定義されているエンコード方式の一つで、主に電子メールで非ASCII文字(日本語など)を安全に送信する際に利用されます。構文quoted_printable_encode(str)パラメータstr − 変換対象となる8ビット文字列を指定します。この引数は必須です。戻り値quoted_printable_encode()