Старый 17.06.2010, 13:34   #1   
Форумец
 
Сообщений: 6
Регистрация: 14.04.2010
Возраст: 44

Karbaras вне форума Не в сети
напишите плиз скиптик за пиво

нужен скрипт на пхп

алгоритм

загружается исходный текстовый файл, в нем нужно искать вхождение строки «искомое» и менять на «заменаХ» с настраиваемым количеством замен Р, где Х в «заменаХ» это счетчик, который растет на единицу после Р замен.

Пример:

Исходный текст:

искомое
искомое
искомое
искомое
искомое
искомое
искомое
искомое
искомое
искомое

параметры скрипта:
ищем «искомое»
заменяем на «вариант» по три раза: Р=3
После обработки текст выглядит так:

вариант1
вариант1
вариант1
вариант2
вариант2
вариант2
вариант3
вариант3
вариант3
вариант4

И еще, нужна одновременная замена сразу несколких слов. Вот так:

исходный текст:

искомое
нужное
нужное
искомое
тудаже
искомое
нужное
тудаже
нужное
искомое
искомое
искомое
искомое
тудаже
нужное
искомое
искомое
искомое
нужное
тудаже
искомое
искомое
нужное
искомое
тудаже
тудаже

параметры скрипта:
ищем «искомое»
заменяем на «искомое» по три раза: Р=3
ищем «нужное»
заменяем на «нужное» по два раза: Р=2
ищем «тудаже»
заменяем на «тудаже» по четыре раза: Р=4

получилось

искомое1
нужное1
нужное1
искомое1
тудаже1
искомое1
нужное2
тудаже1
нужное2
искомое2
искомое2
искомое2
искомое3
тудаже1
нужное3
искомое3
искомое3
искомое4
нужное3
тудаже1
искомое4
искомое4
нужное4
искомое5
тудаже2
тудаже2

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

Бюджет 500 рублей
 
Старый 21.06.2010, 09:57   #2   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Никаких принципиальных проблем

1. Не столько трудно, сколько геморно. Писать много.
2. Что нужно?:
Файл конфигурации с 7 переменными. Примерно такого вида:
Код:
pathTo=./Text.txt
pathToSav=./result1.txt
start=1
count=4
limit=3
find=искомое
rep=вариант
Сие означает, что
1. Текст надо считывать из файла Text.txt
2. После обработки записывать в result1.txt
3. Начинать отсчёт с 1, а не с 0
4. Всего шагов цикла 4.
5. За каждый шаг изменять не более 3 найденных элементов(посредством регулярных выражений).
далее, думаю, и так понятно. - Что искать и на что менять.

Для достижения заданного эффекта рациональнее всего использовать регулярные выражения.(ф-ция PHP preg_replace()) Плюс несколько стандартных ф-ций PHP по чтению и записи файлов.

Вот в принципе и всё необходимое.
Я уже потребный скриптик вроде как накрапал. Никаких непреодолимых технических проблем вроде не встретил.
 
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind