Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

04.11.2007, 00:29
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
парсер
народ , может у кого-то есть , или кто написать может :
парсер текстовых файлов
есть файл вида
Код:
<Unnamed>:::mmmmm:
<Unnamed>:::1401288:
<Unnamed>:::general:
<Unnamed>:::dryu:
<Unnamed>:::1513:
надо чтоб парсер убирал последный символ строки . т.е. ':' и ::  три двоеточия) менял на ; (точку с запятой)
Заранее огромное спасибо.
|
|
|

04.11.2007, 00:35
|
|
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме: 951141
Репутация:
291
|
|
пхп
preg_replace('/[\x3A]+/',';'
|
|
|

04.11.2007, 00:40
|
|
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме: 4608122
Репутация:
874
|
|
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 "Отработало!!!";
?>
|
|
|

04.11.2007, 00:52
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
Огромное человеческое спасибо !
++
|
|
|

04.11.2007, 11:04
|
|
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
|
|
|

04.11.2007, 23:32
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
Народ , а как дописать , чтоб строки начинающиеся с <Unnamed> удалялись ?
Спасибо .
|
|
|

05.11.2007, 02:59
|
|
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме: 4608122
Репутация:
874
|
|
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 "Отработало!!!";
?>
|
|
|

05.11.2007, 13:00
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
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_file, NULL, $echo );
}
}
echo( $echo );
?>
|
|
|

05.11.2007, 13:08
|
|
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме: 4608122
Репутация:
874
|
|
Согласен. Но была заготовка - переделал под просьбу Xszz. Я же только учусь  . Когда писал опирался больше на логику алгоритма.... взять файл, прочитать построкам, найти нужное, поменять и т.д.... Спасибо за критику  Учту.
Неожидал такой востребованности.... странно плюсики поставили те кто не просил.... интересно, неужели так часто применяются такие скрипты.
|
|
|

05.11.2007, 17:52
|
|
Постоянный
Регистрация: 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)
|
|
|
|