Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] preg_match_all
Forum PHP.pl > Forum > Przedszkole
blizniak
mam cos takiego
  1. $url = "index.html";
  2. $string = file_get_contents ( $url );
  3.  
  4. preg_match_all("/<tr[[:space:]].*?>([^<]+)<\/tr>/is", $string, $matches, PREG_PATTERN_ORDER);
  5. print_r($matches);
  6.  

za pomoca tego wyrazenia pobieram wszystko to co jest pomiedzy tr z index.html

jak to mozna zmienic zeby mi pobieralo tylko konkretne

w index.html mam cos takiego
  1. <tr onmouseover="change_style(this, '#d0e2d0');" onmouseout="change_style(this, '#e7f1e7');" style='background-color:#e7f1e7'">
  2. <td style="width: 110px; padding-left:10px; height:20px">11111111</td>
  3. <td style="width: 110px; text-align: center;">dsfdsf</td>
  4. <td><a href="http://wroclaw.dlastudenta.pl/stancje/?act=show_stancja&amp;idp=216442" onmouseover="this.style.color='#489048'" onmouseout="this.style.color='#000'">
  5. <b>dfdfdf(dfdf&nbsp;<span class="strz fred" style="color: #489048;">&raquo;</span></b>
  6. </a></td>
  7. <td style="text-align:center;">1/3</td>
  8.  
  9. <td>350 zł</td>
  10. </tr>


chodzi o to zeby zapisalo mi do tablicy to co jest pomiedzy tr ktory ma cos takiego onmouseover="change_style(this, '#d0e2d0');" onmouseout="change_style(this, '#e7f1e7');" style='background-color:#e7f1e7'"
a reszte tr zeby pomijalo

jak zrobie cos takiego to wchodzi mi we wszystkie
  1. preg_match_all("/<tr[[:space:]].*?>([^<]+)<\/tr>/is", $string, $matches, PREG_PATTERN_ORDER);

jak w tym wyrazeniu mam wstawic te wlasnosci tego tr to znaczy to
onmouseover="change_style(this, '#d0e2d0');" onmouseout="change_style(this, '#e7f1e7');" style='background-color:#e7f1e7'"
erix
preg_quote i zobacz sobie, jak należy wstawić ten ciąg. winksmiley.jpg
blizniak
z tego co rozumiem to preg_quote () wstawia ukośnik przed każdy znak, który jest częścią składni wyrażeń regularnych
ale za bardzo nie wiem jak mam to zastosowac w moim przypadku

bo ja mam przykladowo cos takiego
  1.  
  2. <div style="margin:5px;">
  3. <img src="http://gfx.dlastudenta.pl/gfx/dzial/stancje/clock.gif" alt="" style="vertical-align:middle;" />
  4. <b>
  5. Dzisiejsze oferty - 2009-10-24
  6. </b>
  7. <tr onmouseover="change_style(this, '#d0e2d0');" onmouseout="change_style(this, '#e7f1e7');" style='background-color:#e7f1e7'">
  8. <td style="width: 110px; padding-left:10px; height:20px">11111111</td>
  9. <td style="width: 110px; text-align: center;">dsfdsf</td>
  10. <td><a href="http://wroclaw.dlastudenta.pl/stancje/?act=show_stancja&amp;idp=216442" onmouseover="this.style.color='#489048'" onmouseout="this.style.color='#000'">
  11. <b>dfdfdf(dfdf&nbsp;<span class="strz fred" style="color: #489048;">&raquo;</span></b>
  12. </a></td>
  13. <td style="text-align:center;">1/3</td>
  14.  
  15. <td>350 zł</td>
  16. </tr>
  17. <p style="text-align:center;">[<a href="?miasto=&amp;cena=&amp;">fewferf</p>
  18.  

i chce z tego zapisac wszystko (poczynajac od lini nr 8 do lini nr 15) do jakiejs zmiennej

moze ktos podac jakis przyklad jak to zrobic
erix
Właśnie. winksmiley.jpg

Kod
<tr[[:space:]].*?>

Do tego masz właśnie wpisać to, co ta funkcja zwróci; pokombinuj trochę.
blizniak
jakby komus sie przydalo to zrobilem to tak
  1. preg_match_all('/\<tr\ onmouseover\=\"change_style\(this, \'#d0e2d0\'\);\"\ onmouseout\=\"change_style\(this, \'#e7f1e7\'\);\"\ style\=\'background-color\:#e7f1e7\'\"\>(.*?)\<\/tr\>/ism',$string,$out);

dzieki erix za naprowadzenie w dobrym kierunku smile.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.