chunk_split

関数の概要

PHPの chunk_split 関数は、長い文字列を指定した長さごとに分割し、指定した区切り文字を挿入するための関数です。特に長いテキストを読みやすくしたり、データの整形などで役立ちます。例えば、一定長の改行や他の文字列を挿入して可読性を向上させたい場合に使います。

パラメータの説明

  • string $body:分割対象の文字列。
  • int $chunklen(省略可能):分割する長さ(デフォルトは76文字)。
  • string $end(省略可能):分割後の文字列に付加する区切り文字(デフォルトはCRLFの "rn")。

戻り値

分割して区切り文字を挿入した新しい文字列を返します。元の文字列は変更されません。

使用例

基本的な使い方

<?php
$text = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
$result = chunk_split($text, 5, "-");
echo $result;
?>

この例では文字列を5文字ごとに区切り、その後にハイフン(-)を挿入します。出力は ABCDE-abcde-fghij-klmno-pqrst-uvwxy-z0123-45678-9- のようになります。

改行コードを利用して分割する

<?php
$text = "これは長い文章を改行で区切りたい場合の例です。";
echo chunk_split($text, 10);
?>

区切り文字を省略すると、デフォルトの "rn"(CRLF)が使われます。10文字ごとに改行が入るので読みやすくなります。

区切り文字をカスタマイズする

<?php
$text = "1234567890abcdef";
$result = chunk_split($text, 4, "|");
echo $result;
?>

こちらは4文字ごとにパイプ(|)を挿入しています。結果は 1234|5678|90ab|cdef| となります。

関連する関数

  • substr — 文字列の一部を取り出す
  • str_split — 文字列を指定した長さの配列に分割する
  • wordwrap — 文字列を指定幅で折り返す(改行挿入)

まとめ

chunk_split は、PHPで文字列を一定長ごとに区切りながら特定の区切り文字を挿入したい場合に便利な関数です。読みやすいテキストやフォーマットされたデータの作成に役立ちます。簡単に使えてカスタマイズも可能なので、文字列処理の基本テクニックとして覚えておくとよいでしょう。