Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] wycięcie elementu z ciągu
corvus606
post 20.01.2012, 00:40:29
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 12.11.2011

Ostrzeżenie: (0%)
-----


Mam ciąg:
  1. $string="jeden [a] dwa [b] trzy [c]";

Potrzebuję wyciągnąć z tego tablicę której wartości:
  1. $Array[0]=a;
  2. $Array[1]=b;
  3. $Array[2]=c;

itd.

Póki co wymyśliłem jaką postać powinno mieć wyrażenie regularne:
  1. $pattern = '/\[.*\]/';

ale nie bardzo wiem co dalej, próbowałem preg_match,
  1. preg_match_all($pattern, $string, $Array);
  2. print_r($Array);

ale albo nie tego potrzebuję albo nie potrafię go użyć poprawnie :-)
Go to the top of the page
+Quote Post
wizu
post 20.01.2012, 00:47:40
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

Ostrzeżenie: (0%)
-----


Byłeś blisko wink.gif
  1. $pattern = '/\[(.*?)\]/';


Poćwicz regexy, przydadzą Ci się częściej niż myślisz.
Go to the top of the page
+Quote Post
corvus606
post 20.01.2012, 00:57:55
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 12.11.2011

Ostrzeżenie: (0%)
-----


Dzięki wielkie :-) Pocieszające ;-)

Ale niestety pozostaje jeszcze kwestia, tego, że używając:
  1. preg_match($pattern, $string, $Array);
  2. print_r($Array);

dostaję:
  1. Array ( [0] => [a] )

Z kolei używając:
  1. preg_match_all($pattern, $string, $Array);
  2. print_r($Array);

dostaję
  1. Array ( [0] => Array ( [0] => [a] [1] => [b] ) )

A marzę o:
  1. Array ( [0] => [a] [1] => [b] )
Go to the top of the page
+Quote Post
wizu
post 20.01.2012, 01:15:43
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

Ostrzeżenie: (0%)
-----


U mnie kod:
  1. $string="jeden [a] dwa [b] trzy [c]";
  2. $pattern = '/\[(.*?)\]/';
  3. preg_match_all($pattern, $string, $Array);
  4. print_r($Array);


Zwraca
  1. (
  2. [0] => Array
  3. (
  4. [0] => [a]
  5. [1] => [b]
  6. [2] => [c]
  7. )
  8.  
  9. [1] => Array
  10. (
  11. [0] => a
  12. [1] => b
  13. [2] => c
  14. )
  15.  
  16. )


Czyli to co chciałeś.
Go to the top of the page
+Quote Post
Pawel_W
post 20.01.2012, 01:16:29
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


  1. $Array = $Array[0];
questionmark.gif

bo nie rozumiem w czym problem smile.gif
Go to the top of the page
+Quote Post
corvus606
post 20.01.2012, 01:25:32
Post #6





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 12.11.2011

Ostrzeżenie: (0%)
-----


Ok, dotarło, późna pora :-)
Wszystko działa, dzięki za pomoc :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 01:38