2024年06月14日
PHP関数:preg_match_all()
この関数の説明
PHP関数の preg_match_all() は、文字列を正規表現で検索し、あった場合は配列に取り出す関数です。
関数
preg_match_all( $search , $data , $array )
パラメータ
$search(正規表現文字)必須
取り出す内容を正規表現で指定します。
$data (文字列)必須
サーチする文字列を指定します。
$array (配列)必須
取り出したデータを入れる配列名を指定します。
戻り値
マッチした場合に 1 を返します。 マッチしなかった場合は 0 を返します。
利用例
①配列にある電話番号を取りだす。
<?php $tel_aray = ['電話番号:080-992-1234' , '電話番号:03-1234-1234' , '電話番号:050-912-1234' ]; $tel_string = implode( ',' , $tel_aray ); // 配列を文字列に変換 preg_match_all( '/0\d{1,2}-\d{3,4}-\d{4}/' , $tel_string , $tel_list); foreach($tel_list[0] as $val) { echo $val.'<br>'; } ?> <pre> <?php print_r($tel_list);?> </pre>
■3行目
implode()で、配列を文字列に変換しています。
■4行目
文字列を電話番号ルールで取り出して配列に入れています。
■上記を実行した結果は下記になります。
080-992-1234
03-1234-1234
050-912-1234
Array ( [0] => Array ( [0] => 080-992-1234 [1] => 03-1234-1234 [2] => 050-912-1234 ) )
■$tel_list[0]に電話番号リストが入っています。
関連情報
関連関数は 正規表現で操作する関数 を参照してください。