Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match, pobieranie obrazka/obrazków z innej strony
Forum PHP.pl > Forum > Przedszkole
Olsz4k
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);
fate
simplehtmldom
Olsz4k
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?
fate
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
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.