Forum Webscript.Ru
Программирование => PHP => Тема начата: elPoison от 03 Июля 2003, 21:13:08
-
Здравствуйте!
Ситуация: есть файл, в некотором месте файла есть следующее слово "Версия: ".
После идёт число версии, допустим 1.666. Итак, хотелось бы узнать как методом php можно:
- сначала найти в файле слово "Версия: "
- а затем извлечь всё, что находится после него до пробела (т.е. число версии 1.666).
Заранее спасибо за ответ!
-
Считываешь весь файл в строку. Потом с помощью регулярных выражения находишь тот кусок, который тебе нужен.
-
Хотелось бы поподробнее, принцип мне вроде ясен...
Вобщем, делаю я так:
$filename = "file.txt";
$fd = fopen( $filename, "r" );
$char = fgetc ($fd);
if ($char == "В") {
$char2 = fgetc ($fd);
if ($char2 == "е") {
$char3 = fgetc ($fd);
if ($char3 == "р") {
$char4 = fgetc ($fd);
if ($char4 == "с") {
$char5 = fgetc ($fd);
if ($char5 == "и") {
$char6 = fgetc ($fd);
if ($char6 == "я") {
echo ("Всё найдено!");
}
}
}
}
}
}
Т.е. этим куском я просто ищу по буквам слово ВЕРСИЯ... А что дальше? Признаться, я даже не знаю, как продолжать, поиск, если в файле в первом байте не окажется буквы В...
Помогите...
-
афигеть....
а когда тебе сахар надо в чашку положить - ты тоже, ПО ПЕСЧИНКЕ кладешь?
или, все-таки, ложками?
считывать надо не песчинку, а файл ЦЕЛИКОМ
потом использовать функцию
[p]strpos[/p]
которая найдет тебе позицию слова версия.
к этой позиции ты прибавляешь длину слова версия и от нее, указывая третьим параметром, снова используя strpos, находишь пробел.
а потом, с помощью
substr получаешь, наконец, нужный номер.
все примеры использования функций есть в мане
руский ман - в факе.
-
Хе-хе, ведь понимал я, что всё гораздо проще ;)
Оказывается, гораздо проще! RomikChef, спасибо большое, во всё разобрался!!!
-
хорошо что ромик успел ответить...
а то щас начались бы советы использовать регекспы...
потом бы завязался бы диспут что это нецелесообразно...
вобщем тред на самом верху недели две весел бы...!