subjectにおいて patternで指定した正規表現にマッチする かどうかを検索し、flagsで指定した 順番で matchesに結果を代入します。
最初にマッチするものが見つかった後、最後にマッチしたパターンの後から 検索が続行されます。
flagsは、以下のフラグの組み合わせとなります。 (PREG_PATTERN_ORDERを PREG_SET_ORDERと組み合わせて使用することは無意 味であることに注意してください。)
$matches[0] がパターン全体にマッチする配列であり、 $matches[1] が最初の括弧で括られたサブパターンにマッチする 文字列の配列であり、といった順番となります。
<?php |
この例の出力は以下のようになります。
<b>example: </b>, <div align=left>this is a test</div> example: , this is a test |
$out[0]は、パターン全体にマッチする文字列の配列を有しており、 $out[1]は、タグで囲まれた文字列の配列を有しています。
$matches[0]は最初にマッチした組の配列であり、 $matches[1]は二番目にマッチした組の配列であり、 といった順序となります。
<?php |
この例の出力は以下のようになります。
<b>example: </b>, example: <div align="left">this is a test</div>, this is a test |
この場合、$matches[0] は最初にマッチした組であり、 $matches[0][0] はパターン全体にマッチしたテキスト、 $matches[0][1] は最初のサブパターンにマッチしたテキスト、 といったようになります。同様に、$matches[1]は二番目にマッチした 組といったようになります。
このフラグが設定された場合、マッチする度に付随する文字列のオフ セットも返されます。これにより、返り値は配列となり、その各要素 はマッチした文字列を要素0、 subjectの中でのその文字列オフセットを要 素1とする配列となることに注意してください。 このフラグは、PHP 4.3.0 以降で利用可能です。
flagsが指定されない場合、 PREG_PATTERN_ORDERが指定されたことを仮定します。
通常、探索は対象文字列の先頭から開始されます。 オプションのパラメータoffsetは、検索の開始を始める 場所として別の位置を指定するために使用けいます。 offsetパラメータは、 PHP 4.3.3以降で使用可能です。
注意: offset は、 substr($subject, $offset) を preg_match_all()の対象文字列の場所に指定するのと 等価ではありません。 これは、pattern には、 ^, $ または (?<=x)のようなアサーションを含めることができる ためです。この例については、 preg_match() を参照してください。
パターンがマッチした総数(ゼロとなる可能性もあります)を返します。ま たは、マッチしなかったか、エラーが発生した場合にFALSEを返します。
preg_match(), preg_replace(), preg_split()も参照ください。