Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_match, pobieranie obrazka/obrazków z innej strony
Olsz4k
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 26.07.2013
Skąd: Kraków

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


Potrzebuję pobrać zdjęcie produktu razem z opisem i całą "otoczką" ze strony http://e-pamir.pl/. Niestety bawię się funkcją preg_match, ale nic z tego nie wychodzi. Czy ktoś byłby w stanie mi pomóc? Stanęło ostatecznie na takim kodzie:

  1. $strona = file_get_contents('http://e-pamir.pl/');
  2. preg_match('#<p class="product_icon">(.+?)<\/p><br>#s', $strona, $wynik);
  3. echo($wynik);


Ten post edytował Olsz4k 28.11.2014, 00:06:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
fate
post
Post #2





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


simplehtmldom
Go to the top of the page
+Quote Post
Olsz4k
post
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 26.07.2013
Skąd: Kraków

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


Dzięki, trochę pomogło. Na pewno dużo łatwiejsze, jednak nadal mam mały problem.

  1. <?php
  2. include('simple_html_dom.php');
  3. require_once('url_to_absolute.php');
  4.  
  5.  
  6.  
  7.  
  8. $url = '';
  9.  
  10. $html = file_get_html($url);
  11.  
  12. foreach($html->find('.product_icon img') as $element) {
  13.  
  14. echo url_to_absolute($url, $element->src), "\n\r";
  15.  
  16. }
  17.  
  18. foreach($html->find('.product_wrapper') as $element) {
  19.  
  20. echo $element;
  21.  
  22. }
  23.  
  24. ?>


Nie wyświetlały mi się obrazki, bo rzecz jasna ścieżki były "okrojone". Dotarłem do tego, że pierwszy foreach wyświetla mi pełne ścieżki do fotki, a drugi foreach wyświetla mi opis i reszte danych produktu. Teraz pytanie - jak to połączyć, aby konkretna fotka pasowała do konkretnego opisu i ceny produktu?
Co dokładnie chcę uzyskać? Pobrać wszystkie produkty (nie wiem ile ich jest) i losowo wyświetlać jeden na stronie. Da radę coś takiego?

Ten post edytował Olsz4k 29.11.2014, 13:54:28
Go to the top of the page
+Quote Post
fate
post
Post #4





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


Ja sobie tablicowałem coś takiego

  1. $i=0;j=0;
  2. foreach($html->find('.product_icon img') as $element) {
  3. $i++; $href[$i] = url_to_absolute($url, $element->src), "\n\r";
  4. }
  5.  
  6. foreach($html->find('.product_wrapper') as $element) {
  7. $j++; $opis[$j] = $element;
  8. }
  9.  
  10. if($i==$j)
  11. {
  12. for($z=1;$z<=$i;$z++)
  13. {
  14. echo '<div class="produkt">
  15. <a href="'.$href[$z].'" target="_blank" title=""><img src="'.$href[$z].'" alt="i" /><span>'.$opis[$z].'</span></a></div>';
  16. }
  17. }

Zamiast wyswietlania wszystkich petla for zrob sobie rand i przypisz do $z
Go to the top of the page
+Quote Post

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: 23.08.2025 - 08:57