Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rozbicie stringa, metody
toth
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

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


Witam wszystkich,
mam pytanie czy ktos kiedys meczyl sie z wydobywaniem danych ze stringa ktory jest dosc skomplikowany ,malo tego moze miec rozna budowe?

Czy ktos mi podpowie jak do tego sie zabrac?

powiedzmy ,ze to jest jakis string w stylu:

Pages: Main=0 store=0
Shared spaces: Number=0
MEM: time=10
/* tych MEM moze byc wiecej */

Z gory dzieki za pomoc
toth
Go to the top of the page
+Quote Post
j00seph
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


hmm....

wyrazenia reguralne wydaja mi sie najsensowniejszym podejsciem do tego ...
Go to the top of the page
+Quote Post
toth
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

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


tez o tym myslalem, tyle ,ze ten string jest naprawde skomplikowany, chcialem go najpierw pociac 'explode' aby uzyskac prostsza tablice.

tylko zastanawiam sie co zrobic jesli budowa stringu sie nieznacznie zmieni lub zostanie dodana jakas linija?

moze jeszcze jakies sugestie?
Go to the top of the page
+Quote Post
j00seph
post
Post #4





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


hmm...
explode - mozna i tak , ale musisz miec pewnosc ze co ilestam znakow bedzie sie powtarzał ten sam znak ( ten na bazie ktorego bedziesz robil exploda ) , pozatym nie jestem pewien czy ma sens robic exploda jesli bedziesz korzystal z wyrazen regularnych.


Daj przyklada co chcesz dokladnie wyciagac i z jakiiego txt'u ....
Go to the top of the page
+Quote Post
bela
post
Post #5


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


hmm
Kod
/([A-Za-z ]*): ([A-Za-z]*)=([0-9]*) ([A-Za-z]*)=([0-9]*)/


Może jakieś takie cudo?
Go to the top of the page
+Quote Post
j00seph
post
Post #6





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


bela_666

dokladnie o czyms takim myslalem mowiac o wyrazeniach regularnych
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
toth
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

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


a moze tak?
ereg_replace('\n', '|');
explode($string, '|');
mam wtedy poszczegolne linie typu

XXX: xx=xx vv=vv ee=ee
ale problem w tym ze czasem string bedzie taki jak wyzej a czasem taki jak nizej

XXX: xx=xx vv=vv ee=ee
XX1: xx=xx vv=vv ee=ee
XX2: xx=xx vv=vv ee=ee

i co wtedy? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

ps. a moze robic to w petli i sprawdzac pierwszy wyraz albo cos?
wtedy bede wiedzial jaki reg_ext template zastosowac?

Ten post edytował toth 1.11.2005, 10:30:30
Go to the top of the page
+Quote Post
hwao
post
Post #8


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Cytat(toth @ 2005-11-01 11:29:18)
XXX: xx=xx vv=vv ee=ee
XXX: xx=xx vv=vv ee=ee
XX1: xx=xx vv=vv ee=ee
XX2: xx=xx vv=vv ee=ee

Kod
/([A-Z0-9]*):( ([A-Z]*)=([0-9]*))?/s


jezeli chcesz trzymac jakies dane gdzies, to lepiej je zserializowac i zapisywac do pliku po lini... po problemie..
Go to the top of the page
+Quote Post
toth
post
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

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


problem w tym ,ze ja ich nie chce zapisywac do pliku,
mozliwe jednak ,ze wyciagniete dane bede zapisywal do DB.

w czym pomoze mi serializacja?
narazie chce tylko wyciagnac dane ze stringa/ow.
Go to the top of the page
+Quote Post
j00seph
post
Post #10





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


toth

serializacja czy nie , w kazdym razie to
  1. <?php
  2. /([A-Z0-9]*):( ([A-Z]*)=([0-9]*))?/s
  3. ?>

jest gotowy sposob na wyciaganie danych z tego twojego stringa (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i tego sie trzymaj (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pozdrw.
Go to the top of the page
+Quote Post
toth
post
Post #11





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

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


dzieki wielkie, powiedzcie tylko czy uzywac do tego preg_split czy czegos innego?

tth
Go to the top of the page
+Quote Post
bela
post
Post #12


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


preg_match_all
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 20:36