Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wycinanie z html-a w php ?
Forum PHP.pl > Forum > PHP
mablo
Mam taki kod html:
  1. 215 : <tr>
  2. 216 : <td style="BORDER-TOP: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid" class="ikt_wyniki" bgcolor="#dddddd" width="25">&nbsp;</td>
  3. 217 : <td style="BORDER-TOP: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid" class="ikt_wyniki" bgcolor="#dddddd"><HTML>"Polanka" Spółdzielnia Mieszkaniowa</HTML></td>
  4. 218 : <td style="BORDER-TOP: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid" bgcolor="#dddddd" width="170" align="right" valign="middle" nowrap><label></label><label></label><label></label>&nbsp;&nbsp;</td>
  5. 219 : </tr>
  6. 220 :
  7. 221 : <tr>
  8. 222 : <td width="25"></td>
  9. 223 : <td valign="top" class="tekst"><HTML>51-120 Wrocław</HTML><br>
  10. 224 : <HTML> Żmigrodzka 58</HTML><br>
  11. 225 : <HTML><HTML><HTML>woj. <span style="background-color: #FFC0C0;">dolnośląskie</span>, powiat: wrocławski, gmina: Wrocław</HTML></HTML></HTML></td>
  12. 226 : <td valign="top" class="tekst_right" width="170" align="right"><HTML>TFX (71) 3255134</HTML></td>
  13. 227 : </tr>

Potrzebuje wycignąć ze znacznikow <html> dane ale nie wiem jak to mam zrobic.
Jakieś propozycje questionmark.gif
ebe
nie napisałeś jakie dane więc ja Ci powiem też ogólnikowo- uzyj wyrażeń regularnych
mablo
Kod
"Polanka" Spółdzielnia Mieszkaniowa

Kod
51-120 Wrocław

Kod
Żmigrodzka 58


Teraz pasuje co powinienem wyciagnac z tego htmla questionmark.gif
strife
Witam,

Nie jestem mocny w regexp'ach, wymyslilem cos takiego:
  1. <?php
  2.  
  3. $string = '215 : <tr>
  4. 216 : <td style=\"BORDER-TOP: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid\" class=\"ikt_wyniki\" bgcolor=\"#dddddd\" width=\"25\">&nbsp;</td>
  5. 217 : <td style=\"BORDER-TOP: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid\" class=\"ikt_wyniki\" bgcolor=\"#dddddd\"><HTML>\"Polanka\" Spółdzielnia Mieszkaniowa</HTML></td>
  6. 218 : <td style=\"BORDER-TOP: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid\" bgcolor=\"#dddddd\" width=\"170\" align=\"right\" valign=\"middle\" nowrap><label></label><label></label><label></label>&nbsp;&nbsp;</td>
  7. 219 : </tr>
  8. 220 :
  9. 221 : <tr>
  10. 222 : <td width=\"25\"></td>
  11. 223 : <td valign=\"top\" class=\"tekst\"><HTML>51-120 Wrocław</HTML><br>
  12. 224 : <HTML> Żmigrodzka 58</HTML><br>
  13. 225 : <HTML><HTML><HTML>woj. <span style=\"background-color: #FFC0C0;\">dolnośląskie</span>, powiat: wrocławski, gmina: Wrocław</HTML></HTML></HTML></td>
  14. 226 : <td valign=\"top\" class=\"tekst_right\" width=\"170\" align=\"right\"><HTML>TFX (71) 3255134</HTML></td>
  15. 227 : </tr>';
  16.  
  17. preg_match_all(&#092;"#<html>.*?([wdD]+).*?</html>#is\", $string, $o);
  18.  
  19. foreach($o[1] as $h => $y)
  20. {
  21. echo $y.$o[2][$h].'<br/>';
  22. }
  23.  
  24. ?>


Może to Ci pomorze albo nakieruje.

Pozdrawiam!
mablo
Dzieki Scarface. Bardzo mi pomogłeś mam jeszcze małą prośbe możesz mi to wytłumaczyc questionmark.gif
  1. <?php
  2. preg_match_all(&#092;"#<html>.*?([wdD]+).*?</html>#is\", $string, $o);
  3.  
  4. foreach($o[1] as $h => $y)
  5. {
  6. echo $y.$o[2][$h].'<br/>';
  7. }
  8.  
  9. ?>


Najbardziej mnie interesuje to
Kod
"#<html>.*?([\w\d\D]+).*?</html>#is"
strife
Cytat(mablo @ 2005-04-21 22:57:37)
Dzieki Scarface. Bardzo mi pomogłeś mam jeszcze małą prośbe możesz mi to wytłumaczyc questionmark.gif
  1. <?php
  2. preg_match_all(&#092;"#<html>.*?([wdD]+).*?</html>#is\", $string, $o);
  3.  
  4. foreach($o[1] as $h => $y)
  5. {
  6.     echo $y.$o[2][$h].'<br/>';
  7. }
  8.  
  9. ?>


Najbardziej mnie interesuje to
Kod
"#<html>.*?([\w\d\D]+).*?</html>#is"

preg_match_all" title="Zobacz w manualu PHP" target="_manual rozbija string'a na tablicę, która przeglądam poprzez pętlę foreach" title="Zobacz w manualu PHP" target="_manual...

Co do tego poniżej...
Cytat(http://php5.pl/php/wyrazenia_regularne)
// ....
[a-z] mała litera
[A-Z] duża litera
[0-9] cyfra

Aby zaprzeczyć wystąpieniu jakiegoś znaku stosuje się znak potęgi ^

[^a-z] nie mała litera

Istnieją gotowe klasy, które zaoszczędzają wklepywania kodu. Są one poprzedzone znakiem backslash

\d == [0-9]
\D == [^0-9]
\w == [a-zA-Z0-9_] - wszystko co jest literą, cyfrą lub '_'
\W == [^a-zA-Z0-9_]
\s == [\r\t\n\f] - dowolny odstęp
\S == [^\r\t\n\f]
// ....

[link]

Pozdrawiam!
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.