Заведомо зная, что так не правильно, но тем не менее:
$search = 'поиск слов';
$lines = file('text.txt');
mb_internal_encoding("UTF-8");
foreach($lines as $num_line => $line_value)
{
if(mb_stripos($search, $line_value) !== FALSE)
echo "$num_line $line_value<br>";
}
Конечно же не получилось, но как тогда?