preg_match_all
2014/07/02
やりたかった事は、
・JSON形式がそのまま出力されているページのデータをPHPで受け取りたい
・1つのデータに多数の情報が入っており、その内のcode部分だけほしい
・出来たら配列に突っ込みたい
場合にpreg_match_allを使うと上手いこといきそう。
■preg_match_all(検索文字列, 検索対象, 格納したい配列名)
http://phpspot.net/php/man/php/function.preg-match-all.html
繰り返し正規表現を行い、マッチしたものを
配列に突っ込む。
■ソース
$val = file_get_contents('./array.php'); //jsonで出力されるものを取得。バッファ使うのもいけそう。
preg_match_all('/"code" : "\d{0,}" , *?/', $val, $codes);
var_dump($codes);
■その他
どうも正規表現のオプションgとかだけだと上手いこと
いかなかったけど、これなら希望の動作をしてくれた。
ループとかまわさなくても1発で配列化してくれるので便利。
あと仕様っぽいけどarray[0][$i]みたいな形になってしまうので、その点を注意する。
関連記事
-
正規表現でHTMLタグ検索と便利そうなページ
HTMLタグを正規表現で検索したい場合、 むっちゃ長く書かないといけないようなイ ...
-
正規表現の繰り返し
{}(波カッコ)で繰り返しの回数を指定できる。 a{5} aを5回繰り返し。 b ...
-
正規表現で行の先頭と最後
^(キャレット) 行の先頭 $ 行の最後 を検索する場合に使用する。 ■例 va ...
-
javascriptとPHPで正規表現を使う場合
とりあえず使いそうなのは検索と置換。 ■javascript var str = ...
-
テキストエディタでデータ整形時によく使う正規表現
\n ⇒ 改行 \t ⇒ タブ \d+ ⇒ ...