|
|
|
|
|
для: ДаньЧег
(04.01.2009 в 19:20)
| | чисто философски попробовал сплитом
<?php $res = preg_split('#([^/]+)/([^;]+);#', 'usr1/pass1;usr2/pass2;usr3root/xxx;', -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
print_r($res);
/*Array
(
[0] => usr1
[1] => pass1
[2] => usr2
[3] => pass2
[4] => usr3root
[5] => xxx
)*/
|
| |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2009 в 18:16)
| | А можно как-нибудь получить из этой строки массив
"user"="1234"
"user1"="4321"
"user"="3421" | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2009 в 22:01)
| | В действительности только твой вариант и работает! Чтоб сделать мне своим способом нужно знать функцию переноса строки... | |
|
|
|
|
|
|
|
для: ДаньЧег
(04.01.2009 в 21:56)
| | Это из спортивного интереса или что то не подходит из моего варианта? | |
|
|
|
|
|
|
|
для: ДаньЧег
(04.01.2009 в 19:20)
| | Почемуто сплит после разделителя кушает все остальную строку!И из за этого на выходе только логин!Но не пасс.... | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2009 в 18:16)
| | У меня не получилось СПЛИТОМ сделать нечто подобное preg_match_all(), ведь при использовании этого самого сплита нужно посчитать на скока частей делить....таким макаром, что когда функция for находит / выполняет условие: добовляет к определенной переменной одну единицу, и отделяет первые символы до введенного кхе! символа. Дальше это все повторяется, пока for находит введенный символ.....но чето тут не так..... | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2009 в 18:16)
| | Кстати тоже нилохо!
Я нимного изменил код
<?php
$a = "user/1234;user1/4321;user2/3421";
preg_match_all("#;*([^/]+)/([^;]+)#s",$a,$out);
echo "Users:<br>";
foreach($out[1] as $out1){
echo "$out1 ";
}
echo "<br><br>";
echo "PASS:<br>";
foreach($out[2] as $out1){
echo "$out1 ";
}
?>
|
Вот что получил на выходе:
Users:
user; user1; user2;
PASS:
1234; 4321; 3421;
ЗЫ: не юзал preg_match_all тк не особо понимаю принцип использования.Документацию читал! Мне не помогло! | |
|
|
|
|
|
|
|
для: ДаньЧег
(04.01.2009 в 17:34)
| | А чем Вам preg_match_all() не угодила?
<?php
$a = "user/1234;user1/4321;user2/3421";
preg_match_all("#;*([^/]+)/([^;]+)#s",$a,$out);
print_r($out[1]);
print_r($out[2]);
|
| |
|
|
|
|
|
|
|
для: Trianon
(04.01.2009 в 17:23)
| | А точн!
Я совсем забыл что нада по всему тексту сначала пройтись!
Перед сплитом нада добавить for($i=0;$i<=count($содеожашая текст)-1;$i++) и к разбиваемой переменной в настр эксплода нада добавить ['i']!)) | |
|
|
|
|
|
|
|
для: ДаньЧег
(04.01.2009 в 17:08)
| | Это я сморозил.
Вероятно, Вы перепутали параметры, и split() вернула false. false - всяко не массив.
Вообще, стоит учитывать, что split() разбивает строку по шаблону регулярного выражения, а не просто так. | |
|
|
|
|