Обработка файла с кеями - Need Help - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD64248.8802
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 16.10.2008, 16:58   #1
vcarlsonn
Member
 
Аватар для vcarlsonn
 
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
Отправить сообщение для vcarlsonn с помощью ICQ
По умолчанию Обработка файла с кеями - Need Help

есть текстовый файл в котором содержаться кеи и выглядит это следующим образом:
Код:
  • keyword1 key static1 keyword1 key static2 keyword1 keystatic3 keyword1 keystatic4 keyword2 key static1 keyword2 key static2 keyword2 keystatic3 keyword2 keystatic4 keyword3 key static1 keyword3 key static2 keyword3 keystatic3 keyword3 keystatic4 и т.д.
т.е. часть словосочетания keystatic остается неизменной и повторяется через каждые 4 строки, а вот keyword меняется, и задача состоит в том, чтобы получилось следующее...
Код:
  • {teg} keyword1 keyword1 key static1 keyword1 key static2 keyword1 keystatic3 keyword1 keystatic4 {teg} keyword2 keyword2 key static1 keyword2 key static2 keyword2 keystatic3 keyword2 keystatic4 {teg} keyword3 keyword3 key static1 keyword3 key static2 keyword3 keystatic3 keyword3 keystatic4 и т.д.
(keyword - в большинстве случаев многословный)
подскажите, как такое реализовать? наверное только с помощью скриптины небольшой...
знающие люди помогите плиз, отблагодарю!
__________________
Cheap Web Hosting Plans
vcarlsonn вне форума  
Старый 16.10.2008, 17:23   #2
wetsnow
Guest
 
Сообщений: n/a
Бабло: $
По умолчанию

ну если есть желание обойтись без скриптов то такой вариант:
1.качаешь программулю EditPlus.
2.загружаешь туда свои кеи
3.ctrl+h - ставишь галку напротив регулярных выражений и тискаешь кнопу на которой нарисованно ">>" (это расширенный режим)
4. выскачит два больших окенца в верхнем пишешь
(.*)key static1
в нижнем
{teg}\1
\1 key static1

должно всё поменятсо как ты просил
 
Старый 16.10.2008, 17:28   #3
MasterMushi
Снимаю, порчу
 
Аватар для MasterMushi
 
Регистрация: 20.08.2008
Адрес: B0 2E E6 70 E6 71 C3
Сообщений: 744
Бабло: $1285
По умолчанию

+1 к wetsnow
только не забудь порезать файл а то может софтина не взять более 16ти метров файлы
__________________
(с) Секрет успеха в жизни связан с честностью и порядочностью: Если у вас нет этих качеств - успех гарантирован...
MasterMushi вне форума  
Старый 16.10.2008, 18:00   #4
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

сколько строк в файле?
файл отсортирован?
какой разделитель между keyword и keystatic* ?
solar вне форума  
Старый 16.10.2008, 18:03   #5
vcarlsonn
Member
 
Аватар для vcarlsonn
 
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
Отправить сообщение для vcarlsonn с помощью ICQ
автор темы ТС По умолчанию

Цитата:
Сообщение от wetsnow Посмотреть сообщение
ну если есть желание обойтись без скриптов то такой вариант:
1.качаешь программулю EditPlus.
2.загружаешь туда свои кеи
3.ctrl+h - ставишь галку напротив регулярных выражений и тискаешь кнопу на которой нарисованно ">>" (это расширенный режим)
4. выскачит два больших окенца в верхнем пишешь
(.*)key static1
в нижнем
{teg}\1
\1 key static1

должно всё поменятсо как ты просил
попробовал сначала в "своем" редакторе, эти регулярки не пашут, скачал EditPlus, все сработало как нужно, почти... вообщем когда ставишь галку возле регулярки, то становится неактивной "Whole words only", а без него начинает зтрагивать key static2, так как он просто является множественным числом key static1 и соответственно содержит в себе весь предыдущий, нужно как то подправить регулярку, чтоб key static1 считался как - "Whole words only"
__________________
Cheap Web Hosting Plans
vcarlsonn вне форума  
Старый 16.10.2008, 18:05   #6
vcarlsonn
Member
 
Аватар для vcarlsonn
 
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
Отправить сообщение для vcarlsonn с помощью ICQ
автор темы ТС По умолчанию

Цитата:
Сообщение от solar Посмотреть сообщение
сколько строк в файле?
файл отсортирован?
какой разделитель между Keyword и Keystatic* ?
строк около 5к
файл отсортирован
разделитель пробел
__________________
Cheap Web Hosting Plans
vcarlsonn вне форума  
Старый 16.10.2008, 18:10   #7
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

Цитата:
Сообщение от vcarlsonn Посмотреть сообщение
строк около 5к
файл отсортирован
разделитель пробел
тогда например вот так:

Код:
<?php

$input = "file.txt";

$data = file($input);

for($i=0;$i<sizeof($data);$i++) {
  $line = chomp($data[$i]);
  list($keyword,$keystatic)=split(" ", $line);
  $result[$keystatic][] = $keyword;
}

while(list($tag,$keys)=each($result)) {
 echo $tag."\n";
 for($i=0;$i<sizeof($keys);$i++) {
   echo $keys[$i]."\n";
 }
}

?>
можно еще по дороге отсортировать как тебе надо, пиши.
ЗЫ:, если разделитель пробел, то значит кеи у тебя однословные? Я сомневаюсь. Может там все-таки знак табуляции стоит? Надо удостоверится, что кеи можно друг от друга отделять.

зы2: исправил опечатку в коде
solar вне форума  
Старый 16.10.2008, 18:16   #8
vcarlsonn
Member
 
Аватар для vcarlsonn
 
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
Отправить сообщение для vcarlsonn с помощью ICQ
автор темы ТС По умолчанию

немного не по теме...
Юзаю в качестве текстового редактора PSPad editor. Советую посмотреть, в нем есть очень много функций для работы с кеями да и вообще с текстом такх, которых нет ни в одном другом редакторе + он free + есть рус язык + куча плагинов и т.п.
__________________
Cheap Web Hosting Plans
vcarlsonn вне форума  
Старый 16.10.2008, 18:19   #9
vcarlsonn
Member
 
Аватар для vcarlsonn
 
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
Отправить сообщение для vcarlsonn с помощью ICQ
автор темы ТС По умолчанию

вот часть файла...
Код:
  • 112 Ring Tone 112 Ring Tones 112 Ringtone 112 Ringtones 2pac Ring Tone 2pac Ring Tones 2pac Ringtone 2pac Ringtones 3 Doors Down Ring Tone 3 Doors Down Ring Tones 3 Doors Down Ringtone 3 Doors Down Ringtones
__________________
Cheap Web Hosting Plans
vcarlsonn вне форума  
Старый 16.10.2008, 18:42   #10
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

Цитата:
Сообщение от vcarlsonn Посмотреть сообщение
вот часть файла...
Код:
  • 112 Ring Tone 112 Ring Tones 112 Ringtone 112 Ringtones 2pac Ring Tone 2pac Ring Tones 2pac Ringtone 2pac Ringtones 3 Doors Down Ring Tone 3 Doors Down Ring Tones 3 Doors Down Ringtone 3 Doors Down Ringtones
если кеи разделются пробелами, то ты замучаешься это разбивать как тебе нужно
потому что программа не может понять где кончается слово или кейворд
solar вне форума