Я немного изменил ваш код:
function checkFile($file, $keyword)
{
$handle = @fopen($file, 'r');
if ($handle) {
while (($line = fgets($handle)) !== false) {
if (stripos($line, $keyword) === false) {
continue;
} else {
$exploded = explode('<br />', $line);
foreach ($exploded as $e) {
if (stripos($e, $keyword) !== false) {
$lines[] = substr($e, 0, strpos($e, "at"));
}
}
}
}
}
return $lines;
fclose($handle);
}
$result = checkFile('file.html', 'TrxID');
print_r($result); // return array of lines
или, если вы хотите повторить его:
echo $output = implode('<br />', $result);
Если вы хотите просто строку после trxid:
function checkFile($file, $keyword)
{
$fileContents = file_get_contents($file);
$result = preg_match_all('/(?<=\b'.$keyword.'\s)(?:[\w-]+)/is', $fileContents, $matches);
return preg_filter('/^/', $keyword.' ', $matches[0]);
}
$result = checkFile('file.html', 'TrxID');
print_r($result); // return array of lines