Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】PREG_SPLIT_DELIM_CAPTURE定数の使い方

PREG_SPLIT_DELIM_CAPTURE定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

PREG_SPLIT_DELIM_CAPTURE定数は、PHPの正規表現関数preg_splitにおいて、文字列を分割する際に使用される区切り文字を結果の配列に含めるかどうかを制御するための定数を表す定数です。preg_split関数は、指定された正規表現パターンに基づいて文字列を分割し、その結果を配列として返します。通常、preg_split関数で文字列を分割する際、分割に使用された区切り文字は、結果の配列には含まれません。

しかし、このPREG_SPLIT_DELIM_CAPTURE定数をpreg_split関数のオプションとして指定すると、正規表現パターン内で括弧( )によってキャプチャされた区切り文字が、分割された各文字列の間に挿入される形で結果の配列に含まれるようになります。例えば、「リンゴ、バナナ、ミカン」という文字列を正規表現パターン/(,)/(カンマを括弧でキャプチャ)で分割する際にこの定数を使用すると、結果の配列には「リンゴ」、「,」、「バナナ」、「,」、「ミカン」のように、区切り文字そのものも一つの要素として含まれることになります。

この定数を利用することで、分割されたデータだけでなく、そのデータを区切っていた区切り文字自体も情報として取得したい場合に非常に役立ちます。特に、区切り文字が単なるセパレータではなく、何らかの意味を持つトークンとして扱いたい場合に、PREG_SPLIT_DELIM_CAPTUREは強力な機能を提供します。PHP 8の環境で利用可能です。

構文(syntax)

1<?php
2$string = "apple,banana;orange";
3$pattern = "/[,;]/";
4$result = preg_split($pattern, $string, -1, PREG_SPLIT_DELIM_CAPTURE);
5?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ