$file = file_get_contents('file.txt');
$lines = explode('---> ', $file);
for($i=1; $i<count($lines); $i=$i+3)
if(strpos($lines[$i], '124')!==false)
$col[$i/3] = /*'--> ' . */$lines[$i];
print_r($col);
يبدو أن هذا يعمل بشكل جيد. إلغاء التعليق أعلاه إذا كنت تريد -> المدرجة في الإخراج. أيضا ، يتم فهرسة مجموعة $ col الناتجة برقم الصف الذي تم العثور عليه. ما عليك سوى استبدال [$ I/3] بـ [] إذا كنت لا تريد ذلك.
تعزيز هذا:
function SearchFileByColumn($contents, $col_num, $search, $col_count = 3) {
$segs = explode('---> ', $contents);
for($i=$col_num; $i<count($segs); $i=$i+$col_count)
if(strpos($segs[$i], $search) !== false)
$res[] = $segs[$i];
return $res;
}
$results = SearchFileByColumn($contents, 1, '124');