※ ChatGPTを利用し、要約された質問です(原文:【PHP】関数から渡した引数を正規表現で扱うには?)
【PHP】関数から渡した引数を正規表現で扱うには?
このQ&Aのポイント
PHPの関数に渡した引数を正規表現で扱いたい場合、どのように記述すれば良いのでしょうか?
例えば、特定のディレクトリ内のファイル名を正規表現で絞り込むために、関数を呼び出して引数に指定したいとします。
しかし、引数が認識されない問題に直面しています。解決方法を教えていただけないでしょうか?
【PHP】関数から渡した引数を正規表現で扱うには?
下記(1)はディレクトリ「sample_dir」のファイル一覧を取得し、ファイル名「hogehoge」から始まるものだけを一覧表示させたものです。
「hogehoge」以外の文言でも絞り込めるように関数を呼び出して((2))、指定文言を引数で$xに渡したいのですが、引数が認識されません。
引数を正規表現で扱うには、どのように記述したら良いですか。
ご教示をお願いします。
----------------------------------------
(1)
----------------------------------------
//対象ディレクトリ
$dir_s="./sample_dir";
//ディレクトリ内のファイルを取り出す
$filelist=scandir($dir_s);
//ファイル数をチェック
$count=count($filelist);
for($i=0; $i<$count; $i++){
$y = ($filelist[$i]);
if(preg_match("/^hogehoge/", $y)){
print_r($y);
}
}
----------------------------------------
(2)
----------------------------------------
function file_search($x){
for($i=0; $i<$count; $i++){
$y = ($filelist[$i]);
if($z = preg_match($x, $y)){
print_r($y);
}
}
}
file_search("/^filename/"); //引数「filename」でマッチさせたい
お礼
メタ文字をクォートしてしまっていたのがミスだったようです。 デリミタの囲い方など、解りやすくご説明いただきありがとうございました。