Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> rexexp
kicaj
post 17.09.2006, 20:29:22
Post #1





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Jak wyciagnac dane z tekstu w postaci:
"...[count=jakas_liczba] ... [text=jakis_tekst]..."
aby tablica wygladala tak:
Array
(
[0] => Array
(
[0] => count
[1] => text
)

[1] => Array
(
[0] => 255
[1] => gasg
)
)
Problemem jest to ze dla `count` musi byc integer, a dla `text` string.
Jak to zrobic?

Ten post edytował kicaj 17.09.2006, 20:29:51


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
sticker
post 17.09.2006, 21:46:04
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


kawałek kodu
  1. <?php
  2. $txt = "[count=1][text=zjakis t am text][count=2][text=tere fe re rara][count=3][te
    xt=fajny text][count=4][text=tere fe re rara][count=5][text=zarabisty text3][coun
    t=6][text=tere fe re6]"
    ;
  3.  
  4. $pattern = "/[count=([0-9]?)][text=(.[^]]+)?/";
  5. $biezaca_pozycja = 0; 
  6. $wynik = NULL;
  7. for( $i=0;;$i++ ){
  8. preg_match($pattern, substr($txt,$biezaca_pozycja), $matches, PREG_OFFSET_CAPTURE);
  9. if($matches==NULL) break;
  10. $wynik[$i][0]=$matches[1][0];
  11. $wynik[$i][1]=$matches[2][0];
  12. $biezaca_pozycja += $matches[2][1];
  13. }
  14. echo "<pre>";
  15. print_r($wynik);
  16. echo "</pre>";
  17. ?>


--------------------
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: 14.08.2025 - 09:16