Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenie regularne, Przeszukanie ciągu
My4tic
post
Post #1





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Witam,

Mam nastepujący problem: z pewnej strony pobieram content i chce przeszukać go wzglądem występowania pewnych fraz. Przeszukiwany ciąg wygląda tak:

Kod
[stała część][zmienna część][stała][zmienna]


...i chcę pobrać informacje znajdujące sie pomiedzy stałymi częściami. Np.:
Kod
Uzytkownik: $nick kupił $co_kupił
i chciałby z tego otrzymać:
$nick i $co_kupił.

Wydaje mi się, że trzeba użyć wyrażen regularnych ale nie mogęporadzić sobie ze skonstruowaniem odpowiedniego wyrażenia.

Proszę o pomoc.

Ten post edytował My4tic 3.03.2006, 15:29:54


--------------------
Załóż konto na dropbox.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Może podaj przykład jak ma wyglądać to, bo stała/zmienna cześć niewiele mówi. Może tu nawet starczyć:
  1. <?php
  2. print_r( explode( 'stała_część', $dane ) );
  3. ?>


--------------------
Go to the top of the page
+Quote Post
My4tic
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Więc moze to być coś takiego:

Kod
"Użytkownik My4tic kupił DVD" - [Użytkownik $nick kupił $co]


...przy czym nie wiem jakie będą $nick i $co (dowolne) Część przed nickiem zawsze jest taka sama i cześć przed nazwa towaru również. Chcę otrzymać to co jest po stałych częściach wyrazenia.


--------------------
Załóż konto na dropbox.
Go to the top of the page
+Quote Post
AxZx
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


  1. <?php
  2. $dane = 'user adam kupil dvd
  3. user jan kupil cd
  4. user majkel kupil stos
  5. user jan kupil wykalaczki
  6. user beta616 kupil monitor
  7. user kula656 kupil klawiature
  8. user nowy75 kupil nozyczki
  9. user gosc9 kupil telewizor
  10. user magda kupil komputer';
  11.  
  12. $tab = array();
  13. preg_match_all("/user (.*) kupil (.*)/", $dane, $tab);
  14.  
  15. print_r($tab);
  16. ?>


dobrze?


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
My4tic
post
Post #5





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Hmm... thx. Prawie o to chodziło ale mam jeszcze jeden problem. Otóż przeszukiwany ciąg jest dość spory i pobierany jest przez:

file_get_contents ();

więc jest tego dość dużo. Wywalam z tego html ale i tak zostaje spory zlepek tekstu w którym czasami występują takie wyrażenia jakie napisałem.

Jesli filtruje tylko taki ciąg jak podałeś w $dane to wszystko jest ok ale jesli np. mam:

"W naszym sklepie byla promocja i user jan kupił cd"

to juz nie chce działać.


--------------------
Załóż konto na dropbox.
Go to the top of the page
+Quote Post
AxZx
post
Post #6





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


no to popatrz na wyrazenie ktore napisalem i sprobuj samemu wykombinowac jak to bedzie
musisz miec oddzielone czyms to co kupil od tego co jest przed użytkownik
albo znak konca linii albo jakis inny znak, bo inaczej to trudno ci bedzie rozroznic to


--------------------
aplikacje internetowe | Symfony
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 Aktualny czas: 19.08.2025 - 03:17