Как найти строку в файле в php?

Пользователь

от rachel , в категории: PHP , год назад

Как найти строку в файле в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от amaya_bahringer , год назад

@rachel 

В PHP есть функция strpos(), которая может искать строку в файле. Она возвращает позицию первого вхождения искомой строки, или false, если строка не найдена. Например:

1
2
3
4
5
6
7
8
$file = file_get_contents('example.txt');
$search = 'example';
$position = strpos($file, $search);
if ($position !== false) {
    echo "The string '$search' was found in the file at position $position.";
} else {
    echo "The string '$search' was not found in the file.";
}


Если нужно найти все строки в файле, можно использовать preg_match_all() с регулярным выражением.

1
2
3
4
$file = file_get_contents('example.txt');
$search = '/example/';
preg_match_all($search, $file, $matches);
print_r($matches);


Или можно использовать функцию file(), которая считывает файл в массив строк. После чего можно использовать функцию array_filter() для поиска строк.

1
2
3
4
$lines = file('example.txt');
$search = 'example';
$result = array_filter($lines, function($var) use ($search) { return preg_match("/$search/", $var); });
print_r($result);


Пользователь

от maymie , 3 месяца назад

@rachel 

Примеры выше представляют несколько способов найти строку в файле в PHP. Вам нужно выбрать определенный метод в соответствии со своими потребностями и требованиями.