勉強したことのメモ

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

preg_match_all

   

やりたかった事は、

・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, 正規表現

  関連記事

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

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

PHPのcURLでnot found判別方法

cURLを使う際に、 if( curl_exec($ch) ){ //succe ...

MySQLのエラーメール送付

MySQLエラーを取得してエラーメール送付。 <? error_repor ...

MySQLでのエラーについて

エラーログをとるようになってから色々エラーを 見る機会が出来てきたのでメモ。 プ ...

FLASHがインストールされているかどうかチェックする

以前にここでちょっとやったけど、インストールされているか どうかだけならもっと良 ...

PHPでファイルを添付してメール送信

PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ...

画像削除用function

ファイルパス、拡張子、seq番号、画像番号を渡してあげるだけ。 拡張子部分があれ ...

PHPのshort_open_tagのデメリット

PHPをHTML内に書くときは、書く速さと見易さ重視で、   < ...

正規表現のメタ文字大カッコ[]

[] 大カッコ内に入っている文字のいずれかが入っているか検索 [abcde] だ ...

エラー管理まとめ

■エラーログをとる。 error_reporting(E_ALL ^ E_NOT ...