UNIX/Linuxシステムでgrep-ffilenameを実行するような関数はPHPにありますか。ない場合は、このためにカスタマイズされたメソッド/関数を作成するのにどのPHP関数/ツールが役立ちますか。ありがとう!
質問する
14876 次
2 に答える
10
実際、私見ですが、次のようになります。
$result = preg_grep($pattern, file($path));
見る ドキュメントと ドキュメント。preg_grep
file
ファイルのセットに対して(再帰的に)それを行う必要がある場合は、glob
andforeach
または(Recursive
)DirectoryIterator
または ドキュメントと忘れないでください ドキュメント。GlobIterator
RegexIterator
SplFileObjectとRegexIteratorの例:
$stream = new SplFileObject($file);
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
出力($file
$ patternを含むすべての行):
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
于 2012-05-19T12:10:20.210 に答える
2
file_get_contens()関数を組み合わせてファイルを開き、preg_match_all()関数を組み合わせて正規表現を使用してコンテンツをキャプチャできます。
$file = file_get_contents ('path/to/file.ext');
preg_match_all ('regex_pattern_here', $file, $matches);
print_r ($matches);
于 2012-05-19T08:30:46.207 に答える