Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z preg_match i dopasowaniem do wzorca
Forum PHP.pl > Forum > Przedszkole
mefistofeles
Za pomocą cURL pobieram sobie do zmiennej zawartość strony.
Teraz chciałbym wyciągnąć wszystko co znajduje się międy słowami 'nazwa:' i 'ocena' (ta_nazwa):

nazwa: ta_nazwa ocena

Zrobiłem coś takiego:

  1. $pat= '/nazwa:(.+?)ocena/';
  2.  
  3. preg_match_all($pat, $content, $wn);
  4. $wn = $wn[0][0];
  5. echo 'LINK: '.$wn;


Niestety nic mi nie znajduje.

Chciałem zaznaczyć, że pomiędzy 'nazwa:' a ciągiem do znalezienia może być dowolna ilość spacji, tak samo miedzy
ciągiem do znalezienia a 'ocena'.
Cięzko mi określić jak to dokładnie jest bo w przeglądarce widać tylko jedną spację natomiast jak kopiuje ten fragment
ze źródła strony to mam coś takiego:

  1. nazwa:
  2. ta_nazwa
  3. ocena
lukasamd
Spróbuj może (.*) i do tego modyfikatory U oraz s.
mefistofeles
Coś nie za bardzo...

Zrobiłem jeszcze taki test:

  1. $t='<span style="color:#453; font-size: 0.7em; text-decoration: none;">
  2. <br/>
  3. nazwa:
  4. bla bla bla
  5. ocena:6.81
  6. <br/>
  7.  
  8. <div class="cl"></div>
  9. </span>
  10. </li>';
  11.  
  12.  
  13.  
  14. $links = '/none;">(.+?)<br\/>/';
  15.  
  16.  
  17.  
  18. preg_match_all($links, $t, $wn);
  19. print_r($wn);


No i dostaje pusty wynik.
Dlaczego nie pobiera mi tego co znajduje się między 'none..' a '<br/>' questionmark.gif
lukasamd
Ponieważ jest tam łamanie linii, a kropka tego nie uwzględnia, potrzeba modyfikatora s.
mefistofeles
Dzięki !
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.