min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

GETで例えば「.*\.ts」という正規表現の検索文字列を受け取って、その文字列を使ってサーバ内にある(それにマッチする)ファイルの一覧をWeb上に吐き出すphpコード

ハピタス登録で1,000円分になるURL

その買うを、もっとハッピーに。|ハピタス

 

正規表現での検索実装

自前のファイル管理システム(doLSglob.php)に正規表現による検索機能を実装したい。こんな感じ。

検索ボタンを押すと

正規表現にマッチするファイルが検索される。

 

以前の実装

これまでは変数$myGREに入れた検索単語をglob("*$myGRE*")して検索していた。

1365行目。これだと正規表現での検索ができない。

 

改良後の実装

preg_grep()を使って正規表現で検索できるようにした。

1373行目 いったんscandirの結果を変数に入れてから使う。

1380行目 ここでpreg_grepを使ってを使って(preg_matchではない)、しかも/iにしてるので大文字小文字を区別せずに検索できている。

 

file_put_contents() で検索ログを比較

改良前後の検索結果をログファイルに落として比較。

左が改良後、右は以前。まったく同じに取れている。

 

2020年に保存したjpgまたはpngを検索

正規表現でドーン!

めっちゃ便利やなコレ。

 

画像以外を検索

php正規表現preg_grep否定条件で検索。

キャレット(ハット)を使うと思い込んでいたが違うっぽい。

 

正規表現はこれまでも何度か実装を試みたがうまくいかず…だったがChatGPTに聞いたらついに解決した。

生成AI素晴らしい。独学の世界が変わる