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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поиск строки в файле

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
improbable
Отправлено: 12 Мая, 2012 - 20:47:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Честно искал, может плохо, но не нашел.

Есть большой (около 1Мб) текстовый файл, содержащий строки вида

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ...
  3. value=anothervalue
  4. ...
  5.  


Value и anothervalue больше нигде в файле не повторяются, причем длина value - константа, а у anothervalue - постоянно колеблится.

Прошу помочь с написанием скрипта. Я знаю, что он в пару строк, поэтому, если не трудно, помогите, пожалуйста...) Закатив глазки
 
 Top
EuGen Администратор
Отправлено: 12 Мая, 2012 - 21:20:45
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Примерно так:
PHP:
скопировать код в буфер обмена
  1. $sValue = 'test';
  2. $sFile  = '/path/to/file';
  3. if(preg_match('/^(.*?)\='.preg_quote($sValue).'$/sm', file_get_contents($sFile), $rgMatches))
  4. {
  5.    //var_dump($rgMatches);
  6. }

- для ~1Mb допустимо.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
improbable
Отправлено: 12 Мая, 2012 - 21:47:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Черт, долго думал как выразиться, а не написал. Мне нужен поиск строки в файле по значению из этой строки. Или это то и есть?

Тогда что такое

EuGen пишет:
'$/sm'
?

А
? Ведь переменная не задана
 
 Top
EuGen Администратор
Отправлено: 12 Мая, 2012 - 22:16:19
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




improbable
То и есть. Почитайте, что значат символы "^" и "$" в регулярных выражениях, а так же про модификаторы s и m.
обращение к $rgMatches происходит внутри блока if, определяется же она при вызове preg_match, так как та возвращает третий параметр по ссылке.
Словом, прочтите про конструкции и функции, использованные в примере.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB