subjectにおいて patternで指定した正規表現にマッチする かどうかを検索し、flagsで指定した 順番で matchesに結果を代入します。
最初にマッチするものが見つかった後、最後にマッチしたパターンの後から 検索が続行されます。
flagsは、以下のフラグの組み合わせとなります。 (PREG_PATTERN_ORDERを PREG_SET_ORDERと組み合わせて使用することは無意 味であることに注意して下さい。)
$matches[0] がパターン全体にマッチする配列であり、 $matches[1] が最初の括弧で括られたサブパターンにマッチする 文字列の配列であり、といった順番となります。
preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", |
この例の出力は以下のようになります。
<b>example: </b>, <div align=left>this is a test</div> example: , this is a test |
$matches[0]は最初にマッチした組の配列であり、 $matches[1]は二番目にマッチした組の配列であり、 といった順序となります。
この例の出力は以下のようになります。 この場合、$matches[0] は最初にマッチした組であり、 $matches[0][0] はパターン全体にマッチしたテキスト、 $matches[0][1] は最初のサブパターンにマッチしたテキスト、 といったようになります。同様に、$matches[1]は二番目にマッチした 組といったようになります。このフラグが設定された場合、マッチする度に付随する文字列のオフ セットも返されます。これにより、返り値は配列となり、その各要素 はマッチした文字列を要素0、 subjectの中でのその文字列オフセットを要 素1とする配列となることに注意して下さい。 このフラグは、PHP 4.3.0 以降で利用可能です。
flagsが指定されない場合、 PREG_PATTERN_ORDERが指定されたことを仮定します。
パターンがマッチした総数(ゼロとなる可能性もあります)を返します。ま たは、マッチしなかったか、エラーが発生した場合にFALSEを返します。
matched: <b>bold text</b> part 1: <b> part 2: bold text part 3: </b> matched: <a href=howdy.html>click me</a> part 1: <a href=howdy.html> part 2: click me part 3: </a> |
preg_match(), preg_replace(), preg_split()も参照下さい。