Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] pobranie zawartosci strony i problem z wyrazeniem regularnym - preg_match_all()
Forum PHP.pl > Forum > Przedszkole
wiewiorek
Chce pobrac z pewnej strony zawartosc miedzy
  1. <table width="100%" cellspacing="2" cellpadding="2">....</table>
do tabeli. Kod strony przedstawia się w ponizszy sposob:

  1. <table width="100%" cellspacing="2" cellpadding="2">
  2. ........
  3.  
  4. <table width="100%" cellspacing="2" cellpadding="2">
  5. ........
  6.  
  7. <table width="100%" cellspacing="2" cellpadding="2">
  8. ........


Robię coś takiego:
  1. $html = file_get_contents('http://www.XXXX.com');
  2.  
  3. preg_match_all('/<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\">(.*)<\/table>/is', $html, $matches);
  4.  
  5. print_r($matches);


jednak wynikiem jest: Array ( [0] => Array ( ) [1] => Array ( ) )

Co jest nie tak w moim wyrazeniu regularnym ?
piotrekkr
Nie ma przełacznika 'm' smile.gif
  1. $html = '<table width="100%" cellspacing="2" cellpadding="2">
  2. ........
  3. </table>
  4.  
  5. <table width="100%" cellspacing="2" cellpadding="2">
  6. ........
  7. </table>
  8.  
  9. <table width="100%" cellspacing="2" cellpadding="2">
  10. ........
  11. </table>';
  12.  
  13. preg_match_all('#<table width="100%" cellspacing="2" cellpadding="2">(.*?)</table>#ism', $html, $matches);
  14.  
  15. print_r($matches);
wiewiorek
Dzięki, choć to nie była główna przyczyna - skopiowałem kod (na podstawie, którego budowałem wyrażenie regularne) z widoku w Firebug (plugin do firefoxa):
  1. <table width="100%" cellspacing="2" cellpadding="2">


tymczasem w Widok - Źródło strony było:
  1. <table cellspacing=2 cellpadding=2 width="100%">


Więc prawidłowe wyrażenie powinno wyglądać:
  1. preg_match_all('#<table cellspacing=2 cellpadding=2 width=\"100%\">(.*?)</table>#ism', $html, $matches);


Także jak ktoś chce pobrać coś z jakiejś strony to nie budujcie wyrażenia regularnego na podstawie tego co widać w Firebug tongue.gif biggrin.gif biggrin.gif
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.