Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
amii
Proszę o podpowiedź co jest nie tak z wyrażeniem regularnym:

  1. $regex = '#<td>(\d+\.\d+\.\d+\.\d+)<\/td>[\s\S]+<td><img\s+src="\/proxy-list\/img\/port\/(\d+\/\d+)"\s+style="margin:\s+0pt;\s+padding:\s+0pt;"\s+alt="port"\s+\/><\/td>#i';
  2.  
  3.  
  4. $count = preg_match_all($regex, $wynik, $matches);
  5. echo 'Link do zdjecia: '.$matches[0][0].'<br>'; //nic nie wyświetla czyli prawdopodobnie zły regex


Fragmenty interesującego mnie źródła poprawnie zwracane czyli $wynik:
  1. <td>187.58.65.6</td>
  2. <td><img src="/proxy-list/img/port/8420103/0" style="margin:0; padding:0;" alt="port" /></td>
  3.  
  4. <td>200.77.252.162</td>
  5. <td><img src="/proxy-list/img/port/8420094/0" style="margin:0; padding:0;" alt="port" /></td>
  6.  
  7. <td>62.84.12.37</td>
  8. <td><img src="/proxy-list/img/port/8420091/1" style="margin:0; padding:0;" alt="port" /></td>
  9.  
nienarodzony
Polecam użyć tej biblioteki:
  1. http://simplehtmldom.sourceforge.net/


Coś takiego powinno działać:
  1. $html = str_get_html($tekst); //ładowanie twojego htmla
  2. $es = $html->find('img'); //Wyszukanie wszystkich obrazków
  3. foreach($es as $image){ //Przeszukanie obiektu wyszukiwania pod kątem pojedynczych obrazów
  4. echo $image->src; // wyswietlenie atrybutu src pojedynczego obrazu
  5. }
  6.  
  7.  
  8.  
Fantazyn
Spróbuj z takim regexem:

  1. $regex = '#<td>(\d+\.\d+\.\d+\.\d+)<\/td>[\s\S]+<td><img\s+src="\/proxy-list\/img\/port\/(\d+\/\d+)"\s+style="margin:s*0;\s+padding:\s*0;"\s+alt="port"\s+\/><\/td>#';
  2.  


W swoim kawałku kodu nie masz styli z "pt", nie ma też białych znaków (spacji) przed "0".
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.