Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]PCRE - poprawa regexpa.
Forum PHP.pl > Forum > Przedszkole
KsaR
Kod
#<t[hd].*HomeNews(Headline|Date|Body).*>(\s|.)+?</t[hd]>#

Co próbuje zrobić:

<td lub <th tu co¶ tam nastepnie jest HomeNews(i tu: Headline lub Date albo Body) tu znów co¶ po czym jest > (wszystko tutaj chce wyłapać, s± dowolne znaki także nowe linijki) </th> lub </td>

Przykładowe dane wej¶ciowe:
  1. <th class="HomeNewsHeadline" style="width: 238px">........jaki¶ tytuł</th>
  2. <th class="HomeNewsDate" style="width: 150px;">...jaka¶ data....</th>
  3. <th class="HomeNewsExpander">-</th>
  4. </tr>
  5. <tr style="">
  6. <td colspan="4" class="HomeNewsBody">jaki¶....<br/>
  7. Content...</td>


Ps. Koniecznie regexp, żaden parser dom..
trueblue
Może tak:
/<(td|th)(.*?)class="HomeNews(Body|Headline|Date|Expander)"(.*?)>(.*?)<\/(td|th)>/s
KsaR
Prawie idealnie,
Kod
#<t[dh].*?class="HomeNews(Body|Headline|Date).*?>(.*?)</t[dh]>#s

Aktualny wynik (testuje na: http://scriptun.com/php/online/preg_match_all)
  1. <?php
  2. // result value:
  3. $result = 3;
  4. // matches array:
  5. $matches = array (
  6. 0 =>
  7. 0 => '<th class="HomeNewsHeadline" style="width: 238px">........jaki¶ tytuł</th>',
  8. 1 => '<th class="HomeNewsDate" style="width: 150px;">...jaka¶ data....</th>',
  9. 2 => '<th class="HomeNewsExpander">-</th>
  10.  
  11. </tr>
  12.  
  13. <tr style="">
  14.  
  15. <td colspan="4" class="HomeNewsBody">jaki¶....<br/>
  16.  
  17. Content...</td>',
  18. ),
  19. 1 =>
  20. 0 => 'Headline',
  21. 1 => 'Date',
  22. 2 => 'Body',
  23. ),
  24. 2 =>
  25. 0 => '........jaki¶ tytuł',
  26. 1 => '...jaka¶ data....',
  27. 2 => 'jaki¶....<br/>
  28.  
  29. Content...',
  30. ),
  31. )
  32. ?>


Da się jako¶ poprawić żeby złapało tylko drug± tablicę?
  1. 0 => '........jaki¶ tytuł',
  2. 1 => '...jaka¶ data....',
  3. 2 => 'jaki¶....<br/>
  4.  
  5. Content...')
trueblue
?:

<t[dh].*?class="HomeNews(?:Body|Headline|Date).*?>(.*?)<\/t[dh]>
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.