Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parsowanie - wyciąganie ze źródła tekstu
newb1e
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.05.2010

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


Przykładowa część ze źródła pewnej strony:
  1. <div class="left">
  2.  
  3. <h1 class="title">
  4. Seagate 500 GB Barracuda 7200.12 (16MB, Serial ATA II) </h1>
  5.  
  6. <div class="code">
Chciałbym teraz za pomocą preg_match wyciągnąć tekst pomiędzy <h1 class="title"></h1> jednak w żaden sposób nie umiem tego zrobić. Nie chcę tego robić za pomocą strpos.
  1. $zmienna = preg_match(/<h1 class=\"title\">(.*)<\/h1>/i, $zrodlo, $tablica);
Niestety takie coś nie działa. Podejrzewam, że to przez te spacje. W jaki sposób to wyciągnąć? Za pomocą preg_match? Chyba, że jeszcze inny sposób poza strpos.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
newb1e
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.05.2010

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


Więc sprawa wygląda następująco:
  1. $url = 'http://www.komputronik.pl/index.php/product/65058/Podzespo_y_PC/Dyski_twarde/Seagate_500_GB_Barracuda_7200_12_16MB_Serial_ATA_II_.html';
  2. $text = file_get_contents($url);
  3. $search = array("\n", "\t");
  4. $text = str_replace($search, '', $text);
  5. $text = substr($text, 20000, 8000);
  6. $pattern = '#h1 class="title">(.*)<\/h1>#is';
  7. preg_match($pattern,$text,$matches);
  8. echo $matches[1];
To działa bez zarzutów.
Natomiast:
  1. $url = 'http://www.komputronik.pl/index.php/product/65058/Podzespo_y_PC/Dyski_twarde/Seagate_500_GB_Barracuda_7200_12_16MB_Serial_ATA_II_.html';
  2. $text = file_get_contents($url);
  3. $search = array("\n", "\t");
  4. $text = str_replace($search, '', $text);
  5. //$text = substr($text, 20000, 8000);
  6. $pattern = '#h1 class="title">(.*)<\/h1>#is';
  7. preg_match($pattern,$text,$matches);
  8. echo $matches[1];
Już nie działa. Mimo, że tekst w $text jest taki sam tylko dłuższy to tablica jest już pusta. Po prostu nie ma wtedy wyników żadnych. Co może być powodem? preg_match nie sięga tak daleko w głąb kodu czy co (IMG:style_emoticons/default/laugh.gif)
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: 29.12.2025 - 06:19