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

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

Закрытая тема
Опции темы Опции просмотра
Старый 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 вне форума  
Закрытая тема



Опции темы
Опции просмотра