我有一个包含此内容的文件:
Line A
Line B
Line C
Line D
Line E
如果我正在寻找Line C
,我怎样才能将包含Line C
的行的结果作为row 2
?我使用file_get_contents()
语法如下:
$get_file=file_get_contents("text.txt");
substr_count($get_file, "Line C");
但结果为1
。
答案 0 :(得分:0)
我测试了这样,它返回' 2'
1 <?php
2 $str = "Line A\nLine B\nLine C\nLine D\nLine E\n";
3 $arr = explode("\n", $str);
4 $key = array_search("Line C", $arr);
5 if ($key !== false)
6 {
7 echo $key;
8 }
9 ?>
答案 1 :(得分:0)
您可以使用strstr
在搜索字符串之前获取内容。使用substr_count
,您可以找到该事件。
$search = 'Line C';
$content = file_get_contents('example.txt');
$preceedingContents = strstr($content, $search, true);
if ($preceedingContents !== false) {
$line = substr_count($preceedingContents, PHP_EOL);
echo "$search found in row : $line";
} else {
echo "$search not found";
}
example.txt
包含的位置:
Line A
Line B
Line C
Line D
Line E
<强>给出:强>
对于,$search = 'Line C';
给出Line C found in row : 2
对于,$search = 'Line A';
给出Line C found in row : 0
对于,$search = 'Line R';
给出了Line R not found