1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/* -----------------------------------------
 *       正規表現のpreg_splitの例
 *  空白で分割、文字要素に分割、flagの定数の利用
 *   --------------[flagの定数]--------------
 *   PREG_SPLIT_NO_EMPTY       : 空文字列でないものだけ返す
 *   PREG_SPLIT_DELIM_CAPTURE  : 文字列分割用パターン中のカッコによるサブパターンでキャプチャ値も同時に返す
 *   PREG_SPLIT_OFFSET_CAPTURE : 各マッチに対応する文字列のオフセットも返す
 *
 *  作成: 2015.07.23 yoshi of CXMedia Inc.
 * ----------------------------------------- */
header("Content-type: text/plain; charset=UTF-8");

// 半角スペースで分割して配列作成
$data '    abc   de  efg    ';
$out  preg_split("/\s+/",$data);
print_r($out);

// PREG_SPLIT_NO_EMPTYのフラッグは、空文字列でないものだけが 返されます
$out  preg_split("/\s+/"$data, -1PREG_SPLIT_NO_EMPTY);
print_r($out);

// カンマまたは " ", \r, \t, \n , \f などの空白文字で句を分割する。
$keywords preg_split("/[\s,]+/""hypertext language, programming\t事例\npreg_split関数");
print_r($keywords);

// 文字列を文字要素に分割
$str 'string';
// PREG_SPLIT_NO_EMPTYのフラッグは、空文字列でないものだけ分割
$chars preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
print_r($chars);

// 文字列をマッチするものとそのオフセットに分割
$str 'hypertext language programming';
// PREG_SPLIT_OFFSET_CAPTUREのフラッグは、各マッチに対応する文字列のオフセットも返す
$chars preg_split('/ /'$str, -1PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>