preg_match_all 関数は、グローバル正規表現一致を実行するために使用されます。
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
指定された正規表現でパターンに一致するすべての一致結果を件名で検索し、フラグで指定された順序で一致するものに出力します。
最初の一致が見つかった後、最後の一致位置からサブシーケンスの検索が続行されます。
パラメータの説明:
$pattern: 検索するパターン (文字列形式)。
$subject: 入力文字列。
$matches: 多次元配列。すべての一致結果を出力パラメータとして出力します。配列のソートはフラグで指定します。
$flags: 以下のタグと組み合わせて使用できます (PREG_PATTERN_ORDER と PREG_SET_ORDER は同時に使用できないことに注意してください)。
PREG_PATTERN_ORDER: $matches[0] には完全なパターンのすべての一致が保持され、$matches[1] には最初のサブグループのすべての一致が保持されるなど、結果はソートされます。
PREG_SET_ORDER: $matches[0] には最初の一致で得られたすべての一致 (サブグループを含む) が含まれ、$matches[1] には 2 番目の一致で得られたすべての一致 (サブグループを含む) が含まれる配列として並べ替えられます。
PREG_OFFSET_CAPTURE: このフラグが渡されると、見つかった各一致が、ターゲット文字列に対する相対的なオフセットを増加して返されます。
offset: 通常、検索は対象文字列の先頭から開始されます。オプションのパラメータ offset は、ターゲット文字列内の指定された位置から検索を開始するために使用されます (単位はバイト)。
完全一致の数 (おそらく 0) を返し、エラーが発生した場合は FALSE を返します。
実行結果は以下のようになります。
Array( [0] => <b>PHP</b> [1] => <b>プログラミング言語</b>)
実行結果は以下のようになります。
一致しました: <b>太字</b>パート 1: <b>パート 2: bパート 3: 太字パート 4: </b>一致しました: <a href=howdy.html>クリックしてください</a>パート 1: <a href=howdy.html>パート 2: パート 3: クリックしてパート 4: </a>