Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
My4tic
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.
crash
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. ?>
My4tic
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.
AxZx
  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?
My4tic
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ć.
AxZx
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.