PHP在文件中搜索字符串

时间:2011-05-23 23:14:56

标签: php string count

我正在寻找一个计算字符串在文件中出现次数的函数,我尝试使用$count = preg_match_all("/String/", $file, $matches);但它返回Warning: preg_match_all() expects parameter 2 to be string, resource given。是否有任何函数允许我用文件而不是字符串来执行此操作,或者是否有任何方法将文件分配给字符串(我假设后者会慢得多)?

2 个答案:

答案 0 :(得分:11)

是:

  

file_get_contents() - 将整个文件读入字符串

http://php.net/manual/en/function.file-get-contents.php

所以对你来说就是

$file = file_get_contents(PATH_TO_FILE);
$count = preg_match_all("/String/", $file, $matches);

我猜你错误地使用了fopen

答案 1 :(得分:8)

$count = substr_count(file_get_contents($file), $string);

手册:
substr_count
file_get_contents