Прошу совета по замене в файле...

voland

Guest
Прошу совета по замене в файле...

Есть файл! Я точно знаю, что там есть знаки равно
После знака равно стоит кавычка, далее что-то есть и опять кавычка! Знаю номер строки, где это находится, можно ли как-нибудь в этой ситуации заменить то, что стоит между кавычек, на то, что мне надо!
Если можно , то подскажите с помощью чего это делать?
 

Demiurg

Guest
можно. читаешь файл, находишь то, что надо ([m]strpos[/m]), заменяешь , записываешь файл обратно.
 

voland

Guest
Вся проблема в том, что я не знаю что находится между кавычек!
 

Demiurg

Guest
находишь последовательность =' потом находишь следующую кавычку (подсказка: в функции strpos есть третий параметр) и вырезаешь все, что нахозиться между ними.
 

Crazy

Developer
Я, как последний лентяй, сделал бы замену через preg_replace. Сказывается перловый бэкграунд. :)
 

voland

Guest
Спасибо... усе сработало... токо проблема теперь в размере файла... можно ли как то ограничить размер чтения файла?
Вот так например можно?
fread($file, 300)
Я просто не знаю, как проверить скоко считало!
 

.des.

Поставил пиво кому надо ;-)
2Crazy и правильно бы сделал.. потому что реги действительно быстрые и выигрыш от использования строковых функций неоправдан. (Имеются ввиду только pcre only, ereg* тормоза необыкновенные.)
 

Demiurg

Guest
>потому что реги действительно быстрые
а вот с этим я бы посмотрил. хотя не исключаю возможность, что в этом случае они действительно могут быть быстрее.
 

.des.

Поставил пиво кому надо ;-)
Нет не быстрее, а совсем не намного медленнее.

а вот есть задачи где реги явно быстрее. - например выбрать первые двадцать слов из строки.
 

Demiurg

Guest
быстрее чем что ?
алкаритм специально заточеный под решение данной задачи всегда будет немедленее, чем алгоритм, для решение общих задач.
 

.des.

Поставил пиво кому надо ;-)
Demiurg Применительно к конкретной задач(выбрать из строки первые двадцать слов) (и ее решении при помощи php) регулярные будут быстрее (и лучше), чем решение с strpos, substr и т.д.
 
Сверху