PHP ищет строку в файле - PullRequest
6 голосов
/ 24 мая 2011

Я ищу функцию, которая подсчитывает, сколько раз строка встречается в файле, я пытался использовать $count = preg_match_all("/String/", $file, $matches);, но она возвращает Warning: preg_match_all() expects parameter 2 to be string, resource given.Есть ли какая-либо функция, которая позволяет мне делать это с файлом, а не со строкой, или есть какой-либо способ присвоить файл строке (я предполагаю, что последняя будет намного медленнее)?

Ответы [ 2 ]

11 голосов
/ 24 мая 2011

да:

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 вместо этого по ошибке?

8 голосов
/ 24 мая 2011
$count = substr_count(file_get_contents($file), $string);

Руководство:
substr_count
file_get_contents

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...