現在の位置: ホーム> 最新記事一覧> MB_STR_SPLIT関数を使用してマルチバイト文字列を分割する方法、手順と例の詳細な説明

MB_STR_SPLIT関数を使用してマルチバイト文字列を分割する方法、手順と例の詳細な説明

gitbox 2025-09-19
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// これは記事の内容とは関係ありませんPHPコードの例</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"いらっしゃいませPHPマルチバイト文字列分割チュートリアル!"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
記事タイトル:使い方mb_str_splitマルチバイト文字列を分割する機能,手順と例の詳細な説明
*/</span>

</span><span><span class="hljs-comment">// 存在するPHPマルチバイト文字列を処理するとき,通常の文字列関数は、中国語を正しく認識しない場合があります、日本語、韓国語。</span></span><span>
</span><span><span class="hljs-comment">// からPHP 7.4始める,提供されたmb_str_split関数,特別にマルチバイト文字列を指定された長さの単一文字またはサブストリングに分割するために使用される。</span></span><span>

</span><span><span class="hljs-comment">// 1. 基本的な使用法</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"こんにちは,世境界!"</span></span><span>;
</span><span><span class="hljs-variable">$chars</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"基本的な分割結果:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$chars</span></span><span>);

</span><span><span class="hljs-comment">// 出力結果:</span></span><span>
</span><span><span class="hljs-comment">// Array</span></span><span>
</span><span><span class="hljs-comment">// (</span></span><span>
</span><span><span class="hljs-comment">//     [0] =&gt; あなた</span></span><span>
</span><span><span class="hljs-comment">//     [1] =&gt; 良い</span></span><span>
</span><span><span class="hljs-comment">//     [2] =&gt; ,</span></span><span>
</span><span><span class="hljs-comment">//     [3] =&gt; 世</span></span><span>
</span><span><span class="hljs-comment">//     [4] =&gt; 境界</span></span><span>
</span><span><span class="hljs-comment">//     [5] =&gt; !</span></span><span>
</span><span><span class="hljs-comment">// )</span></span><span>

</span><span><span class="hljs-comment">// 2. 長さの分割を指定します</span></span><span>
</span><span><span class="hljs-comment">// 各サブストリングの長さは、2番目のパラメーターで指定できます</span></span><span>
</span><span><span class="hljs-variable">$parts</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"2人の文字ごとに分割した結果:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$parts</span></span><span>);

</span><span><span class="hljs-comment">// 出力結果:</span></span><span>
</span><span><span class="hljs-comment">// Array</span></span><span>
</span><span><span class="hljs-comment">// (</span></span><span>
</span><span><span class="hljs-comment">//     [0] =&gt; こんにちは</span></span><span>
</span><span><span class="hljs-comment">//     [1] =&gt; ,世</span></span><span>
</span><span><span class="hljs-comment">//     [2] =&gt; 境界!</span></span><span>
</span><span><span class="hljs-comment">// )</span></span><span>

</span><span><span class="hljs-comment">// 3. 文字エンコードを設定します</span></span><span>
</span><span><span class="hljs-comment">// mb_str_split内部文字エンコードはデフォルトで使用されます(いつものUTF-8),エンコーディングを指定することもできます</span></span><span>
</span><span><span class="hljs-variable">$charsUtf8</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"UTF-8コーディング分割結果:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$charsUtf8</span></span><span>);

</span><span><span class="hljs-comment">// 4. アプリケーションシナリオの例</span></span><span>
</span><span><span class="hljs-comment">// - ユーザーが入力したマルチバイバイト文字列で文字ごとの処理を実行する,式フィルタリングや敏感な単語チェックなど</span></span><span>
</span><span><span class="hljs-comment">// - 将字符串拆分后逐个显示存在する境界面上</span></span><span>
</span><span><span class="hljs-comment">// - 統計マルチバイト文字列の長さとスライシングを実行する</span></span><span>

</span><span><span class="hljs-comment">// 例:統計文字列長</span></span><span>
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"文字列の長さはです: "</span></span><span> . </span><span><span class="hljs-variable">$length</span></span><span> . </span><span><span class="hljs-string">" 文字\n"</span></span><span>;

</span><span><span class="hljs-comment">// 要約します:</span></span><span>
</span><span><span class="hljs-comment">// mb_str_splitマルチバイト文字列を処理するための効率的なツールです,能够避免使用传统関数可能出现的乱码问题。</span></span><span>
</span><span><span class="hljs-comment">// 文字列を渡すだけです,必要に応じて各セグメントの長さとエンコードを設定します,スプリットタスクを簡単に完了できます。</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>