Умная автозамена в файлах

art11
На сайте с 13.06.2006
Offline
343
901

Помогите, чем можно сделать автозамену в 100 файлах текста вида:

index.php?name=53&name2=88

на

index_53_88.php

Значения переменных name и name2 в файлах меняются.

reg.datatex.ru (reg.datatex.ru) - регистрация доменов .RU по 120 руб (reg.datatex.ru)
[umka]
На сайте с 25.05.2008
Offline
456
#1

какие есть средства в распоряжении? :)

Лог в помощь!
art11
На сайте с 13.06.2006
Offline
343
#2
'[umka:
;6035700']какие есть средства в распоряжении? :)

Файлы лежат на жестком диске под виндой.

В принципе можно и на хостинге запустить скрипт.

K
На сайте с 28.12.2008
Offline
61
kud
#3

Notepad++

Нажимаете CTRL + F,

заменить в файлах,

Режим поиска - регулярное выражение

найти:

index\.php\?name1=([\d]+)&name2=([\d]+)

заменить на:

index_\1_\2.php

Выбираете папку в которой файлы лежат и жмете "заменить в файлах"

[umka]
На сайте с 25.05.2008
Offline
456
#4
kud:
Notepad++
Нажимаете CTRL + F,
заменить в файлах,
Режим поиска - регулярное выражение
найти:
index\.php\?name1=([\d]+)&name2=([\d]+)
заменить на:
index_\1_\2.php
Выбираете папку в которой файлы лежат и жмете "заменить в файлах"

только "найти":

index\.php\?[\w]+=([\d]+)&[\w]+=([\d]+)

... я так полагаю

А на php примерно вот такая загогулина

$dir="."; // директория, в которой файлы

$handle=@opendir($dir);
if ($handle) {
while (false!==($file=readdir($handle))) {
if (filetype($dir."/".$file)!="dir") {
file_put_contents($file,preg_replace("/index\\.php\\?[a-z0-9]+=([0-9]+)&[a-z0-9]+=([0-9]+)/","index_\\1_\\2.php",file_get_contents($dir."/".$file)));
}
}
}
K
На сайте с 28.12.2008
Offline
61
kud
#5
'[umka:
;6035846']только "найти":
index\.php\?[\w]+=([\d]+)&[\w]+=([\d]+)
... я так полагаю

Ну так это только в том случае если катит имя любой переменной, а ТС вроде говорил только про их значение ..

В общем, в этом случае будет меняться текст вида:

"index.php?любое_имя_переменной=цифровое значени&любое_имя_переменной=цифровое значение"

art11, Если переменные принимают текстовое значение то вместо ([\d]+) пишите ([\w]+)

[umka]
На сайте с 25.05.2008
Offline
456
#6
kud:
Ну так это только в том случае если катит имя любой переменной, а ТС вроде говорил только про их значение ..

а, ну да, всё верно... пригрезилось... показалось, что "имена переменных могут быть разными" :D

art11
На сайте с 13.06.2006
Offline
343
#7

Спасибо всем за ответы - реально помогли!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий