ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

парсер
  #1  
Старый 04.11.2007, 00:29
Аватар для Xszz
Xszz
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме:
671223

Репутация: 91
Отправить сообщение для Xszz с помощью ICQ
По умолчанию парсер

народ , может у кого-то есть , или кто написать может :
парсер текстовых файлов
есть файл вида
Код:
<Unnamed>:::mmmmm:
<Unnamed>:::1401288:
<Unnamed>:::general:
<Unnamed>:::dryu:
<Unnamed>:::1513:
надо чтоб парсер убирал последный символ строки . т.е. ':' и ::три двоеточия) менял на ; (точку с запятой)
Заранее огромное спасибо.
 
Ответить с цитированием

  #2  
Старый 04.11.2007, 00:35
Аватар для inv
inv
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме:
951141

Репутация: 291
По умолчанию

пхп
preg_replace('/[\x3A]+/',';'
 
Ответить с цитированием

  #3  
Старый 04.11.2007, 00:40
Аватар для Red_Red1
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

PHP код:
<?
$rez_file 
fopen("rez.txt","w");//Создаю файл для результата
$file_array =  file ("fil2.txt"); //читаю нужный файл в массив
$count_str count ($file_array);
for (
$i 0$i $count_str$i++) //читаю массив строк из файла
{
  
$c=$file_array[$i];
  
$pattern "|(.*):::(.*):|is"
 if (
preg_match_all($pattern$c$out)) {
 
//print_r ($out);
 
$rez=$out[1][0].';'.$out[2][0].chr(13).chr(10);
 
fputs ($rez_file,$rez);}// запись в файл

  
fclose ($rez_file);// закрываю файлы
  
echo "Отработало!!!";
?>
 
Ответить с цитированием

  #4  
Старый 04.11.2007, 00:52
Аватар для Xszz
Xszz
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме:
671223

Репутация: 91
Отправить сообщение для Xszz с помощью ICQ
По умолчанию

Огромное человеческое спасибо !
++
 
Ответить с цитированием

  #5  
Старый 04.11.2007, 11:04
Аватар для demonoid
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию

Просто тренировка :)
Код:
#!perl
use strict;
use warnings;

my $s ='<Unnamed>:::1513:' =~ /<(.+)>:::(.+):/g;
print "$1;;;$2";
Код:
C:\>p.pl
Unnamed;;;1513
 
Ответить с цитированием

  #6  
Старый 04.11.2007, 23:32
Аватар для Xszz
Xszz
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме:
671223

Репутация: 91
Отправить сообщение для Xszz с помощью ICQ
Question

Народ , а как дописать , чтоб строки начинающиеся с <Unnamed> удалялись ?
Спасибо .
 
Ответить с цитированием

  #7  
Старый 05.11.2007, 02:59
Аватар для Red_Red1
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

PHP код:
<? 
$rez_file 
fopen("rez.txt","w");//Создаю файл для результата 
$file_array =  file ("fil2.txt"); //читаю нужный файл в массив 
$count_str count ($file_array); 
for (
$i 0$i $count_str$i++) //читаю массив строк из файла 

  
$c=$file_array[$i]; 
  
$pattern "|(.*):::(.*):|is";  
 if (
preg_match_all($pattern$c$out)) 
  { 
    if (
$out[1][0]!='<Unnamed>')
     {
      
$rez=$out[1][0].';'.$out[2][0].chr(13).chr(10); 
      
fputs ($rez_file,$rez);
     }
  }
}  
  
fclose ($rez_file);// закрываю файлы 
  
echo "Отработало!!!"
?>
 
Ответить с цитированием

  #8  
Старый 05.11.2007, 13:00
Аватар для NOmeR1
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

Red_Red1, извращённый код если честно.
PHP код:
<?

$file 
'txt.txt';
$echo file_get_contents($file);

foreach( 
file($file) as $in_file )
{
    if( 
preg_match('/^<Unnamed>/'$in_file) )
    {
        
$echo str_replace$in_fileNULL$echo );
    }
}

echo( 
$echo );

?>
 
Ответить с цитированием

  #9  
Старый 05.11.2007, 13:08
Аватар для Red_Red1
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

Согласен. Но была заготовка - переделал под просьбу Xszz. Я же только учусь . Когда писал опирался больше на логику алгоритма.... взять файл, прочитать построкам, найти нужное, поменять и т.д.... Спасибо за критику Учту.
Неожидал такой востребованности.... странно плюсики поставили те кто не просил.... интересно, неужели так часто применяются такие скрипты.
 
Ответить с цитированием

  #10  
Старый 05.11.2007, 17:52
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Можно использовать preg_grep и обойтись без цикла
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПАРСЕР Nodexxx Защита ОС: вирусы, антивирусы, файрволы. 6 18.10.2006 23:25
парсер email blaga PHP, PERL, MySQL, JavaScript 8 01.10.2006 11:44



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ