Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciągnięcie danych z html za pomoca regexp
Forum PHP.pl > Forum > Przedszkole
mlody69
Witam,
jest taki kod html:
  1. <tr>
  2. <td width="114" height="25" align="left" valign="middle" class="whate-text" style="padding-left:15px;"><strong>Nazwa pliku: </strong></td>
  3. <td width="286" align="left" valign="middle" class="whate-text" style="padding-left:15px;"><strong>jakas dluga nazwa</strong></td>
  4. </tr>


I za pomocą preg_match_all chcę wyciągnąć "jakas dluga nazwa".Mój kod wygląda następująco:
  1. $regexp = '#<td width="114" height="25" align="left" valign="middle" class="whate-text" style="padding-left:15px;"><strong>Nazwa pliku: </strong></td><td width="286" align="left" valign="middle" class="whate-text" style="padding-left:15px;"><strong>(\d+)</strong></td>#';
  2. preg_match_all($regexp, $wynik, $matches);

Niestety to nie działa. W czym lezy problem?
kapuch
Zobacz tak:
  1. $regexp = '#<td width="114" height="25" align="left" valign="middle" class="whate-text" style="padding-left:15px;"><strong>Nazwa pliku: </strong></td>\s*<td width="286" align="left" valign="middle" class="whate-text" style="padding-left:15px;"><strong>(.*?)</strong></td>#si';

Dobrze by bylo jakbys podal strone z ktorej pobierasz to zrodlo, bo wszystko zalezy od ukladu, byc moze sa tam jakies puste znaki, ktore trzeba wylapac za pomoca \s* - jedno takie miejsce znalazlem pomiedzy </td><td>, ale moze byc wiecej.
Zapomniales tez o modyfikatorach na koncu - dodalem #si (ignorowanie kropek/znakow konca linii i ignorowanie wielkosci liter)
mlody69
Działa. Wynik jest w postaci:
  1. (
  2. [0] => Array
  3. (
  4. [0] => Nazwa pliku:
  5. jakas nazwa
  6. )
  7.  
  8. [1] => Array
  9. (
  10. [0] => jakas nazwa
  11. )
  12.  
  13. )


Dziękuję bardzo winksmiley.jpg
kapuch
Ciesze sie bardzo winksmiley.jpg
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.