Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyrażenia regularne
amii
post
Post #1





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Chce wydobyć interesujące mnie ceny ze sklepów wraz z nazwami produktów. Oto skrypcik.

  1. <?php
  2. $pattern = '/^[0-9]{2,4},[0-9]{2} zł$/'; //cena w formacie xx.xx zł lub xxx,xx zł lub xxxx,xx zł gdzie x - dowolna cyfra
  3. $pattern1 = '/^<big>(.*)<\/big>$/'; //nazwa produktu umieszczona miedzy znacznikami <big></big>
  4.  
  5. $url = array('http://www.strona1.pl', 'http://www.strona2.pl', 'http://www.strona3.pl'); //lista stron do przeskanowania
  6.  
  7.  
  8.  
  9. for ($i=0; $i<count($url); $i++) {
  10. $zawartosc = file_get_contents($url[$i]);
  11.  
  12. $ile = preg_match_all($pattern, $zawartosc, $matches, PREG_PATTERN_ORDER);
  13. $ile1 = preg_match_all($pattern1, $zawartosc, $matches1, PREG_PATTERN_ORDER);
  14.  
  15. echo 'Produkt to <strong> ' . $matches[0][$i] . ' </strong> cena wynosi <strong> ' . $matches[0][$i] . ' </strong> PLN <br>';
  16. }
  17. ?>


Niestety skrypt nie działa sprawdzałem różne konfiguracje w wyświetlaniem $matches, $zawartosc zwraca OK więc najprawdopodobniej coś nie tak z wyrażeniami.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AlexDeLarge
post
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


Cytat(amii @ 22.06.2010, 10:02:25 ) *
  1. <?php
  2. $pattern = '/^[0-9]{2,4},[0-9]{2} zł$/'; //cena w formacie xx.xx zł lub xxx,xx zł lub xxxx,xx zł gdzie x - dowolna cyfra
  3. $pattern1 = '/^<big>(.*)<\/big>$/'; //nazwa produktu umieszczona miedzy znacznikami <big></big>


używasz ^ i $ w wyrażeniach - czy $zawartość zawiera tylko i wyłącznie ciągi znaków wg wzorów z komentarzy? Sprawdź znaczenie tych operatorów.

Zdrówka życzę.

Ten post edytował AlexDeLarge 22.06.2010, 09:12:13
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 20:17