PHP 在文件中搜索字符串

发布于 2024-11-09 14:22:30 字数 202 浏览 0 评论 0原文

我正在寻找一个计算文件中字符串出现次数的函数,我尝试使用 $count = preg_match_all("/String/", $file, $matches); 但它返回警告:preg_match_all() 期望参数 2 为字符串,给定资源。是否有任何函数允许我使用文件而不是字符串来执行此操作,或者是否有任何方法将文件分配给字符串(我认为后者会慢很多)?

I'm looking for a function that counts the number of times a string occurs within a file, I tried using $count = preg_match_all("/String/", $file, $matches); but it returns Warning: preg_match_all() expects parameter 2 to be string, resource given. Is there any function that allows me to do this with a file, instead of a string, or is there any way to assign a file to a string (I assume the latter would be a lot slower)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

很快妥协 2024-11-16 14:22:30

是的:

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

yes:

file_get_contents() — Reads entire file into a string

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

so for you it would be

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

I'm guessing you have used fopen instead by mistake?

野心澎湃 2024-11-16 14:22:30
$count = substr_count(file_get_contents($file), $string);

手册:
substr_count
file_get_contents

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

Manual:
substr_count
file_get_contents

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文