ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Разбитие строки на подстроки(вопрос) |

10.06.2009, 14:24
|
|
Познающий
Регистрация: 04.04.2009
Сообщений: 58
Провел на форуме: 687854
Репутация:
19
|
|
Разбитие строки на подстроки(вопрос)
Доброго времени суток всем!
Пишу на PHP чекер акков ВК, не для продажи, чисто для себя.
Столкнулся с такой проблемой:
когда я беру мыла и пасс из текстовичка в виде мейл:пасс, и разбиваю на подстроки ф-ей explode, то первое мыло ложится в массив $array[0] (как мне и нужно), а пасс от этого мыла присоединяется к следующему мылу и ложится в $array[1] (неправильно).
То есть нужно так $array[0] - мейл, $array[1] - пасс от этого мейла. Лично я думаю, что тут нужно плюсовать 2 exploid'а, но пока ничего не вышло.
Подскажите, как быть
Спасибо.
Последний раз редактировалось Dark_Scorpicore; 10.06.2009 в 14:29..
|
|
|

10.06.2009, 14:34
|
|
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Код покажи
|
|
|

10.06.2009, 14:38
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
PHP код:
foreach(file('mail.txt') as $account)
{
$data=explode(':',$account);
print_r($data);
}
Хз, что у тебя, юзай это.
|
|
|

10.06.2009, 14:41
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
<?php
// Пример 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// Пример 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
(c) php.net
|
|
|

10.06.2009, 15:34
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
строку которую парсиш выложи
|
|
|

10.06.2009, 15:59
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Вариант через руглярки
PHP код:
$file = 'file.txt';
$content = file_get_contents($file);
preg_match_all("/(.*?):(.*?)(\r\n|\z)/ism", $content, $match);
for ($i = 0; $i < count($match[0]); $i++)
{
echo('email = ' . $match[1][$i]);
echo('<br>');
echo('password = ' . $match[2][$i]);
echo('<hr>');
}
Последний раз редактировалось FireFenix; 10.06.2009 в 16:28..
|
|
|

10.06.2009, 17:36
|
|
Познающий
Регистрация: 04.04.2009
Сообщений: 58
Провел на форуме: 687854
Репутация:
19
|
|
Спасибо всем за ответы
Сообщение от FireFenix
Вариант через руглярки
PHP код:
$file = 'file.txt';
$content = file_get_contents($file);
preg_match_all("/(.*?):(.*?)(\r\n|\z)/ism", $content, $match);
for ($i = 0; $i < count($match[0]); $i++)
{
echo('email = ' . $match[1][$i]);
echo('<br>');
echo('password = ' . $match[2][$i]);
echo('<hr>');
}
А как обращаться к переменным в этом случае?
Сообщение от LEE_ROY
лучше увидеть строку
Строка, которую парсю, выглядит так:
mail@mail.ru:moipass
Последний раз редактировалось Dark_Scorpicore; 10.06.2009 в 17:41..
|
|
|

10.06.2009, 18:24
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от Dark_Scorpicore
А как обращаться к переменным в этом случае?
PHP код:
<?php
$file = 'file.txt';
$content = file_get_contents($file);
//регулярное выражение (.*?):(.*?)(\r\n|\z) возвратит все вхождения "почтовый ящик:пароль"
//(.*?) - первая и вторая группы вхождений
preg_match_all("/(.*?):(.*?)(\r\n|\z)/ism", $content, $match);
//Перебираем в цикле все найденные позиции
//$i - поизиция элемента в массиве
for ($i = 0; $i < count($match[0]); $i++)
{
//в $match[0] хранится массив всех найденных вхождения, т.е. элементы вида имя почтового ящика:пароль
//$match[0][$i] - обращение к $i позицией в массиве "почтовый ящик:пароль"
echo('group = ' . $match[0][$i]);
echo('<br>');
//в $match[1] хранится массив всех найденных значений по первой группе вхождения, т.е. имя почтового ящика
//$match[1][$i] - обращение к $i позицией в массиве "почтовых ящиков"
echo('email = ' . $match[1][$i]);
echo('<br>');
//в $match[2] хранится массив всех найденных значений по второй группе вхождения, т.е. пароли
//$match[2][$i] - обращение к $i позицией в массиве "паролей"
echo('password = ' . $match[2][$i]);
echo('<hr>');
}
?>
Если ты запустишь скрипт, то всё поймёшь наглядно 
Последний раз редактировалось FireFenix; 10.06.2009 в 18:33..
|
|
|

10.06.2009, 16:00
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
я беру мыла и пасс из текстовичка в виде мейл:пасс
LEE_ROY, зачем строчка, если есть условие?
|
|
|

10.06.2009, 17:09
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
Сообщение от mailbrush
LEE_ROY, зачем строчка, если есть условие?
ну если у человека не работает explode значед он что-то недоговаривает или недопонимает, из-за чего лучше увидеть строку, чем обьяснение, что сократит время на решение задачи и обьяснение ее словами. во как 
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Assembler FAQ
|
GlobalRave |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
2 |
15.02.2009 18:59 |
|
Конец строки
|
nc.STRIEM |
PHP |
11 |
04.07.2006 00:44 |
|
конец строки
|
Mastermind |
PHP |
15 |
18.08.2005 00:28 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|