PDA

Просмотр полной версии : кто напишет простенький парсер?


$ali$
31.01.2010, 18:38
чтоб мыльники из вида пасс логин переводил в логин пасс в pm аську киньте

Fepsis
31.01.2010, 18:49
Это можно в Экселе сделать...
Список то большой..?!
Какой разделитель..?!

пасс:логин

Перевести в логин:псс..?!

Deathdreams
31.01.2010, 19:10
$accs = ""; //файл с icq
$d = ";"; //разделитель

$file = file( $accs );
$out = "";

foreach ( $file as $n => $value ) {

list( $pass, $icq ) = explode( $d, $value );
$out .= $icq . $d . $pass . "\r\n";

}

file_put_contents( "new-".$accs, $out );

Набросал небольшой говнокод

LStr1ke
31.01.2010, 19:19
list($pass, $icq) = explode($d, trim($value));

eLWAux
31.01.2010, 19:29
$f = 'a.txt';
file_put_contents("_$f",preg_replace('/(.+?)[:;]{1}(.+?)[\r\n]{0,}/', '$2:$1'."\n", implode('',file($f))));
кто меньше?))

mailbrush
31.01.2010, 19:52
кто меньше?))

file_put_contents('a.txt',preg_replace('/(.+?)[:;]{1}(.+?)[\r\n]{0,}/', '$2:$1'."\n", implode('',file($f))));

Я меньше :)

LStr1ke
31.01.2010, 19:57
file_put_contents('a.txt',preg_replace('/(.+?)[:;]{1}(.+?)[\r\n]{0,}/', '$2:$1'."\n", implode('',file($f))));

Я меньше :)
а переменная $f из воздуха берется? ))))
... file($f)

mailbrush
31.01.2010, 20:09
а переменная $f из воздуха берется? ))))
Упустил, сорри :) Ну это ради прикола написал... Тогда так:
file_put_contents('a.txt',preg_replace('/(.+?)[:;]{1}(.+?)[\r\n]{0,}/', '$2:$1'."\n", implode('',file('a.txt'))));
Тупой копипаст от eLWAux, только без переменной))

Colkru
31.01.2010, 20:32
Ruby: puts while (a=gets.split(':')) && (printf("%s:%s\n",a[1].chomp,a[0])) while true

ettee
31.01.2010, 22:17
Awk:
awk -F: '{ print $2 ":" $1 }' file.txt

Isis
01.02.2010, 01:01
$f = 'a.txt';
file_put_contents("_$f",preg_replace('/(.+?)[:;]{1}(.+?)[\r\n]{0,}/', '$2:$1'."\n", implode('',file($f))));
кто меньше?))
Так чтобы придраться.
Зачем там так много условий?Зачем переносы строк, если они уже есть?
file_put_contents(0, preg_replace('#(.+?)[:](.+?)[\r\n]#','$2:$1',implode('',file(1))));