ITメモ
PHP
PHP マニュアル(PHP Official Web)
Basic Knowlege / 基礎知識
「CentOS」にPHPをインストール方法PHPファイルの作り方外部「クラスファイル」「関数ファイル」を読み込む方法変数の使い方定義済み変数の使い方関数の使い方配列の使い方クラスの使い方ヒアドキュメントの使い方PHPの演算子条件分岐
Access Info / アクセス インフォ
IPアドレスを確認する方法アクセスされたURLパスを確認する方法PCとスマートフォンの判定アクセスしたページから特定ページにリダイレクトさせる方法
ファイル・ディレクトリ
ファイルとディレクトリの操作方法(作成・確認・削除)ディレクトリ内のファイル・ディレクトリPath(URL)を配列に格納する方法
ファイルの読み込みと書き込み
「file_get_contents」関数を使ってファイルを読み込む方法「readfile」関数を使ってファイルを読み込む方法「file」関数を使ってファイルを読み込む方法「fread」関数を使ってファイルを読み込む方法「fgets」関数を使ってファイルを読み込む方法「fwrite」関数を使ってファイルに書き込みをする方法
チェック
「is_file」関数 - 指定パスがファイルかをチェックする方法「is_dir」関数 - 指定パスがディレクトリかをチェックする方法
画像ファイル
画像ファイルのIPTC情報を取得する方法 画像ファイルをZipファイル形式でダウンロードさせる画像をコピーする方法画像のキーワード情報を取得する方法画像ファイルから「EXIF」ヘッダを読み込む画像の大きさ・画像情報を取得する
情報
「PHP」の出力系関数 - プログラミングで必須のデータ内容をチェックする方法関数の返り値を複数で受け取る方法使用可能なメモリ使用量を変更する方法mb_send_mail - エンコード変換を行ってメールを送信する「Google」「Goolge Map]に渡した値が文字化けするときの解決方法PHPで日付比較をする方法
文字列
「文字列」の長さを取得する方法【 substr 】「文字列」から一部分を取り出す方法【 explode 】「文字列」を分割する方法【 preg_split 】正規表現で「文字列」を分割するランダムな数字を取得する方法
文字の検索
「strpos」関数で指定文字の最初の位置を確認する方法「preg_match」関数で指定した「正規表現」で検索する方法
文字の置換
「str_replace」関数で指定した文字列を置き換える方法「preg_replace」関数で指定した文字列を置き換える方法
文字の削除
「trim」関数 - 文字列の両端から指定文字を削除する方法「ltrim」関数 - 文字列の先頭から指定文字を削除する方法「rtrim」関数 - 文字列の末尾から指定文字を削除する方法文字列の中にある「文字」を削除する方法「改行」を削除する方法文字列の「空白(スペース)」を削除する方法
配列
配列に値を追加する方法配列の値を削除する方法配列の有無を確認する方法配列の中から重複した値を削除する配列の空の値を削除する配列の並び順を変えるis_array - 変数が配列かを確認するin_array - 配列の中に指定した値があるか確認するimplode - 値の間に文字加えて配列を文字列に変換するarray_merge - 配列と配列を結合する方法
ライブラリ
「PHP」で使えるライブラリの種類「GD」ライブラリの使い方
Server / サーバー
サーバーの最大実行可能時間を変更する





【PHP】「preg_split」関数で「文字列」を分割する方法

【PHP】
「preg_split」関数で「文字列」を分割する方法




「preg_split」関数は、
指定した「正規表現」「文字」「文字列」で、
検索対象の「文字列」を分割する関数。

指定した「正規表現」「文字」「文字列」を区切り文字として、
検索で見つけると、
指定した「正規表現」「文字」「文字列」を抜き取り、
文字列を分割し、
見つけた箇所すべてで分割が実行される。



「preg_split」関数の使い方


「preg_split」関数とは

「preg_split」関数は、
指定した「正規表現」「文字」「文字列」で、「文字列」を分割することができる関数。

指定した「正規表現」「文字」「文字列」を検索で見つけると、
その文字を区切り文字として抜き取って、文字列を分割する。
複数箇所に見つけると、その分だけ文字列を分割することになる。



「preg_split」関数の書式

preg_split ( string $pattern, string $subject, int $limit, int $flags ) : array|false


返り値(配列 or 真偽値(false)) = preg_split ( 検索したい文字, 検索対象の文字列, 検索する最大文字数, フラグ名 );

$配列名 = preg_split ( 検索したい文字, 検索対象の文字列, 検索する最大文字数, フラグ名 );
$配列名 = preg_split ( 検索したい文字, 検索対象の文字列, 検索する最大文字数 );
$配列名 = preg_split ( 検索したい文字, 検索対象の文字列 );




「preg_split」関数のパラメータ

パラメータ説明
pattern 「pattern」パラメータには、
検索する「パターンを表す正規表現」か「文字列」を指定する。
subject 「subject」パラメータには、
検索対象の文字列を指定する。
limit 「limit」パラメータを指定した場合、
指定した数字を最大文字数とした文字列を返す。
残りの文字列は、最後の部分文字列に含めて返す。
「limit」パラメータを「-1」「0」の場合は、「無制限」を意味する。
flags flags は、次のフラグを組み合わせたものとする (ビット和演算子 | で組み合わせる)ことが可能です。


PREG_SPLIT_NO_EMPTY 空文字列でないものだけを「返り値」にして返す。
PREG_SPLIT_DELIM_CAPTURE 文字列分割用のパターン中の カッコによるサブパターンでキャプチャされた値も同時に返す。
PREG_SPLIT_OFFSET_CAPTURE 各マッチに対応する文字列のオフセットも返す。
返り値は配列で返され、
要素「0」 = マッチした文字列。
要素「1」 = マッチした文字列のオフセット値。
返り値 検索した「正規表現」「文字列」で分割したものを、配列で返す。
失敗した場合は、真偽値の「false」を返す。
マッチングに失敗した場合は、入力文字列そのまま入れた要素が一つだけの配列を返す。



「preg_split」関数のサンプルコード

「,」「 」「\r」「\t」「\n」「\f」などの空白文字で句を分割する

$Result = preg_split("/[\s,]+/", "First Second, Third");
print_r($Result);

出力結果
Array
(
[0] => First
[1] => Second
[2] => Third
)



文字列を文字要素に分割する

$str = 'Sample';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);


出力結果
Array
(
[0] => S
[1] => a
[2] => m
[3] => p
[4] => l
[5] => e
)



文字列をマッチするものとそのオフセットに分割

$str = 'First Second Third';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);


出力結果
Array
(
[0] => Array
(
[0] => First
[1] => 0
)

[1] => Array
(
[0] => Second
[1] => 6
)

[2] => Array
(
[0] => Third
[1] => 13
)
)




Back