Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Получение номера строки с определенным текстом
Форумы портала PHP.SU » » Вопросы новичков » Получение номера строки с определенным текстом

Страниц (1): [1]
 

1. danilasar - 09 Июля, 2017 - 18:19:36 - перейти к сообщению
Доброго времени суток. Снова столкнулся с проблемой.
У меня есть файл:
CODE (text):
скопировать код в буфер обмена
  1. 127.0.0.1 - Hello world
  2. Hi 153.121.53.54:1111
  3. Idol 445.483.13.156
  4. Go to 153.121.53.54, please
  5. House 192.168.0.1

В нем нужно удалить все строки, в которых встречается 153.121.53.54.
Удаление строки я написал без проблем:
PHP:
скопировать код в буфер обмена
  1.         $row_number = 0;    //номер строки
  2.         $file_out = file("servers.HD2ST"); // Считываем файл
  3.         //удаляем строку
  4.         unset($file_out[$row_number]);
  5.         //сохраняем изменения
  6.         file_put_contents("servers.HD2ST", implode("", $file));

Пожалуйста, подскажите, как получить номера строк, в которых встречается 153.121.53.54.
2. Строитель - 09 Июля, 2017 - 18:50:21 - перейти к сообщению
danilasar
Спойлер (Отобразить)
3. Quick - 10 Июля, 2017 - 09:46:54 - перейти к сообщению
danilasar пишет:
...получить номера строк, в которых встречается 153.121.53.54.

PHP:
скопировать код в буфер обмена
  1. $file_out = file("servers.HD2ST");
  2. $found = '153.121.53.54';
  3. for ($i = 0; $i <= count($file_out); $i++){
  4. if(strstr($file_out[$i], $found)) echo $i;
  5. }

 

Powered by ExBB FM 1.0 RC1