勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

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]みたいな形になってしまうので、その点を注意する。

 - PHP, 正規表現

  関連記事

images
PHPのカレンダー関数

カレンダー関数で使えるかもしれないものをメモ。 ■cal_days_in_mon ...

other
incファイルとかtplファイルとか

初めて見るサーバーのファイルを見ていると incファイルとかtplファイルとか見 ...

url
CodeIgniterでCronを実行する方法

CodeIgniterで特定の処理をCronで自動で実行したかった。以下に設定方 ...

images
独自タグからタグへの変換function

独自タグは##IMG1##みたいな感じ。 画像ファイル名は「ファイルパス/seq ...

images
PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入

PHP5.3系から5.4系にアップデートしてから、WordPressがちょっと重 ...

images
PHPで配列を値で検索、破棄

PHPの配列で特定の値が入っていれば それを破棄したいということがあった。 ・u ...

other
正規表現の繰り返し

{}(波カッコ)で繰り返しの回数を指定できる。 a{5} aを5回繰り返し。 b ...

images
PHPで指定月の月末日を取得

今月の、だったらdate('t')でいくけど指定月の場合は どうしたらいいのか分 ...

images
PHPで改行を含むデータをCSV化

PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開く ...

url
CodeIgniterでログをファイルに出力する

Codeigniterで何らかのエラーが発生した際に分かりやすい形でファイルに情 ...