我有一个应用程序需要打开文件,然后在其中找到字符串,并打印一个行号,其中是字符串.
例如,文件example.txt包含几个哈希:
APLF2J51 1a79a4d60de6718e8e5b326e338ae533
EEQJE2YX
66b375b08fc869632935c9e6a9c7f8da O87IGF8R
c458fb5edb84c54f4dc42804622aa0c5 APLF2J51
B7TSW1ZE
1e9eea56686511e9052e6578b56ae018
EEQJE2YX
affb23b07576b88d1e9fea50719fb3b7
所以,我想要PHP搜索“1e9eea56686511e9052e6578b56ae018”并打印出其行号,在这种情况下为4.
请注意,文件中不会有多个哈希值.
我在互联网上找到了几个代码,但没有一个似乎不起作用.
我试过这个:
$string = "1e9eea56686511e9052e6578b56ae018";
$data = file_get_contents("example.txt");
$data = explode("\n", $data);
for ($line = 0; $line < count($data); $line++) {
if (strpos($data[$line], $string) >= 0) {
die("String $string found at line number: $line");
}
}
?>
它只是说这个字符串在第0行找到….哪个是不正确的….
最终应用比这更复杂
找到行号后,应该替换其他的字符串,并将更改保存到文件,然后进一步处理….
提前致谢 :)