|
|
|
| помогите парсер написать, у меня лист такого вида
ZX__::KVRW0912::Manuela::ftp://site1.ru
DFG__::KVRW1013::Verena::ftp://site2.ru
WT__::port-aransas.com::acrosstheferry::ftp.site3.ru
должно быть так
логин:пасс@ftp://site1.ru
логин:пасс@ftp://site2.ru
...
кто поможет не пожелею , кину вмр, очень нужно | |
|
|
|
|
|
|
|
для: adminn
(13.09.2010 в 02:46)
| | Да.... Задача практически не выполнима. | |
|
|
|
|
|
|
|
для: adminn
(13.09.2010 в 02:46)
| | в каком столбике логин, а в каком пасс? | |
|
|
|
|
|
|
|
для: adminn
(13.09.2010 в 02:46)
| | смотрел смотрел, раз человек совсем не понимает, то подскажу так, копай всторону ну хотябы list & explode эт сооооооовсем легкий вариант | |
|
|
|
|
|
|
|
для: Kioshy
(13.09.2010 в 14:50)
| | Зачем list? | |
|
|
|
|
|
|
|
для: Kioshy
(13.09.2010 в 14:50)
| | Копайте-ка вы в сторону русского языка | |
|
|
|
|
|
|
|
для: Kioshy
(13.09.2010 в 14:50)
| |
<?php
$data = "PS__::keysu::qbDz02r6Y::ftp://w.ru";
list($user, $pass, $ftp) = explode("::", $data);
echo $user; // foo
echo $pass; // *
echo $ftp;
?>
|
получаю PS__keysuqbDz02r6Y ( помогите, мне же это еще из файла брать нужно построчно и выводить в нормальном виде все варианты | |
|
|
|
|
|
|
|
для: adminn
(13.09.2010 в 21:34)
| | если конечно я правильно понял....
<?php
$data = "PS__::keysu::qbDz02r6Y::ftp://w.ru";
$test = explode("::", $data);
echo "<pre>";
print_r($test);
echo "</pre>";
echo $test[1].":".$test[2]."@".$test[3];
?>
|
Вы это имели ввиду? | |
|
|
|
|
|
|
|
для: Slo_Nik
(13.09.2010 в 22:21)
| | огромное спасибо , все работает! но есть еще проблемка
Array
(
[0] => PS__
[1] => keysu
[2] => qbDz02r6Y
[3] => ftp://1
PS__
[4] => kunkova
[5] => kunkova170780
[6] => ftp://2
PS__
[7] => site001
[8] => 42KlM5J!q@
[9] => ftp://3
и т.д но в конце вижу только одну запись, мне нужно чисто список , без Array() и чтоб все варианты парсило
делал так
<?php
$data = file_get_contents('ftp.txt');
$test = explode("::", $data);
echo "<pre>";
print_r($test);
echo "</pre>";
echo $test[1].":".$test[2]."@".$test[3];
?>
|
| |
|
|
|
|
|
|
|
для: adminn
(13.09.2010 в 22:33)
| | >мне нужно чисто список , без Array()
так уберите вывод дампа массива. я это сделал просто для наглядности, что бы было видно, что в массив попадает...
а что бы вывести все записи с файла, воспользуйтесь foreach() и далее формируйте записи по известной Вам схеме. | |
|
|
|
|
|
|
|
для: Slo_Nik
(13.09.2010 в 22:58)
| | так и не получилось у меня с foreach() , подскажите, че я все масивы буду подставлять для опций foreach ($МАСИВ as $b) { echo "$b<br>"; } ? | |
|
|
|
|
|
|
|
для: adminn
(13.09.2010 в 22:33)
| | У вас в файле записи именно так прописаны:
ZX__::KVRW0912::Manuela::ftp://site1.ru
DFG__::KVRW1013::Verena::ftp://site2.ru
? | |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 03:08)
| | да | |
|
|
|
|
|
|
|
для: adminn
(14.09.2010 в 19:39)
| | А зачем тогда file_get_contents? | |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 19:46)
| | Чтоб из файла список брать, там очень много в скрипт не запихать все | |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 19:46)
| | так и не получилось у меня с foreach() , подскажите, че я все масивы буду подставлять для опций foreach ($МАСИВ as $b) { echo "$b<br>"; } ? | |
|
|
|
|
|
|
|
для: adminn
(14.09.2010 в 19:53)
| | Если это строки через перевод строки, то наверное file и получить исходный массив, а уже его значения преобразовать в нужные строки. Я так понимаю, что вам и нужен массив с такими строками? Тогда (для примера вместо исходного файла просто строка):
<?
$s = "ZX__::KVRW0912::Manuela::ftp://site1.ru
DFG__::KVRW1013::Verena::ftp://site2.ru";
$s = explode("\r\n", $s);
array_walk($s, create_function('&$v','
$v = explode("::", $v);
$v = $v[2] . ":" . $v[1] . "@" . $v[3];
'));
echo "<pre>";
print_r($s);
|
| |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 20:06)
| | ну если в файле, каждая запись с новой строки, то можно и через file_get_contents(), получаем строку, но ведь перевод строки всё равно остаётся, вот первое использование explode() будет по "\r\n". а потом уже через foreach() и второе explode() по разделителям "::" | |
|
|
|
|
|
|
|
для: Slo_Nik
(14.09.2010 в 20:12)
| | Зачем file_get_contents() и explode() если сразу можно получить исходный массив? | |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 20:06)
| | вот это то что нужно спасибо, только не пойму как выводить не мосив , а список в нормальном виде, пробую так
<?
$s = "PS__::keysu::qbDz02r6Y::ftp://1
PS__::kunkova::kunkova170780::ftp://2
PS__::site001::42KlM5J!q@::ftp://3
PS__::site011::v$!3!431LK32::ftp://4
PS__::u225984::purrentolo5::ftp://5
PS__::u225984::purrentolo5::ftp://6
PS__::u72287::eticare4p2rci::ftp://7";
$s = explode("\r\n", $s);
array_walk($s, create_function('&$v','
$v = explode("::", $v);
$v = $v[2] . ":" . $v[1] . "@" . $v[3];
'));
echo "<pre>";
echo $s[1].":".$s[2]."@".$s[3];
?>
|
ответ получаю
kunkova170780:kunkova@ftp://2:42KlM5J!q@:site001@ftp://3@v$!3!431LK32:site011@ftp://4
тут не весь список , да и не понятно как выглядит | |
|
|
|
|
|
|
|
для: adminn
(14.09.2010 в 20:29)
| | $s = "PS__::keysu::qbDz02r6Y::ftp://1
.....
PS__::u72287::eticare4p2rci::ftp://7";
$s = explode("\r\n", $s);
Нужно заменить на:
$s = file("ваш_файл");
Зачем echo $s[1].":".$s[2]."@".$s[3];, если после array_walk у вас каждый элемент массива $s уже будет нужной строкой? Вам для чего пример вывода результата был прописан - print_r()? Вы что не интересуетесь, что же вышло, чтобы понять, что далее делать? А далее:
<?
foreach($s as $val) echo $val . "<br>";
|
PS. С индексами сами разберетесь, а то у вас сперва логин, потом пароль прописан, то потом наоборот.... | |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 20:33)
| | >Вы что не интересуетесь, что же вышло, чтобы понять, что далее делать?
Задачи что-либо понять тредстартер перед собой не ставит, и простите за тавтологию, дает это понять остальным довольно ясно.
С первого поста.
"Именем Тарабарского Короля! Плачу Наличными!" | |
|
|
|
|
|
|
|
для: Trianon
(14.09.2010 в 20:54)
| | Да, за смешные деньги стоило бы заморачиваться. ) Хотя бы любопытство появилось, и то бы хорошо.... | |
|
|
|
|
|
|
|
для: sim5
(14.09.2010 в 20:33)
| | сделал , все работает как нужно, только вот в ответе за место большого списка получаю всего 1
<?
$s = file_get_contents("./data/ftp.txt");
$s = explode("\r\n", $s);
array_walk($s, create_function('&$v','
$v = explode("::", $v);
$v = $v[1] . ":" . $v[2] . "@" . $v[3];
'));
echo "<pre>";
foreach($s as $val) echo $val . "<br>";
?>
|
ответ получаю
keysu:qbDz02r6Y@ftp://1
PS__ | |
|
|
|
|
|
|
|
для: adminn
(14.09.2010 в 20:54)
| | >сделал , все работает как нужно, только вот в ответе за место большого списка получаю всего 1
ну и где же "работает как нужно", если Вы получили только одну запись?
а Вам надо всё получить.
Значит, работает не так как нужно. | |
|
|
|
|
|
|
|
для: adminn
(14.09.2010 в 20:54)
| | Я вам что писал?
<?
$s = file("./data/ftp.tx");
array_walk($s, create_function('&$v','
$v = explode("::", $v);
$v = $v[1] . ":" . $v[2] . "@" . $v[3];
'));
foreach($s as $val) echo $val . "<br>";
|
| |
|
|
|
|
|
|
|
для: adminn
(14.09.2010 в 19:53)
| | что именно не получилось? и какие это все массивы и какие опции? | |
|
|
|