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

PHPのmb_split関数の使い方を解説!マルチバイト文字列を正規表現で分割する方法

PHPのmb_split()関数は、マルチバイト文字列(日本語など)を正規表現を使って分割するための関数です。分割された結果は配列形式で返されます。マルチバイト文字に対応しているため、日本語テキストを扱う際にも安心して利用できます。

構文

array mb_split($str_pattern, $str_string, int $limit = -1)

パラメータ

mb_split()関数は、以下の3つの引数を受け取ります。

  • $str_pattern − 分割に使用する正規表現のパターンを指定します。

  • $str_string − 分割対象となる入力文字列を指定します。

  • $limit − 省略可能なパラメータです。分割する要素数の上限を指定できます。デフォルト値は-1で、この場合は制限なくすべての要素に分割されます。

戻り値

mb_split()関数は、分割された各要素を配列として返します。処理が失敗した場合は、falseを返します。

使用例1:空白とカンマで文字列を分割する

以下の例では、半角スペースまたはカンマを区切り文字として、英語の文字列を分割しています。

<?php
   mb_internal_encoding("UTF-8");
   // mb_split関数で文字列を分割
   $string = mb_split(
      "[ ]+", // パターン
      "Welcome to the PHP Tutorial"); // 対象文字列
   print_r($string);
?>

出力結果

上記のコードを実行すると、次のような出力が得られます。

Array
(
   [0] => Welcome
   [1] => to
   [2] => the
   [3] => PHP
   [4] => Tutorial
)

補足:日本語を含む文字列の分割

mb_split()はマルチバイト対応の関数なので、日本語文字列も問題なく分割できます。ただし、事前にmb_internal_encoding()で内部エンコーディングを明示的に設定しておくことで、意図しない文字化けを防げます。また、単純な区切り文字での分割であれば、preg_split()explode()と使い分けることも検討するとよいでしょう。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのchunk_split()関数とは?使い方と実例をわかりやすく解説

    chunk_split() 関数は、文字列を指定した長さごとの塊(チャンク)に分割するためのPHP組み込み関数です。分割処理が施された文字列を結果として返します。基本構文chunk_split(str, len, end)パラメータstr − 分割対象となる文字列を指定します。len − 1つのチャンク(分割単位)の長さを指定します。省略した場合のデフォルト値は 76 です。end − 各チャンクの末尾に挿入する区切り文字列を指定します。省略した場合のデフォルト値は \r\n です。戻り値chunk_split() 関数は、指定した長さと区切り文字で分割された文字列を返します。元の文字列自体は