Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak poprawnie napisać wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
dominik_fil
Witam,
na forum znalazłem taki kod, w wyrażenie regularne zmieniłem element odnośnie dla tabeli ze strony pge.
Ładnie mi wyświetla całą tabelę.
Proszę o pomoc jak teraz to wyrażenie zmienić, żeby wyświetlało tylko te wiersze w tabeli w których jest informacja np. miasto lub gmina nieważne, ale słowo - Ostrów Mazowiecka. W tabeli występują na dziś 4 takie wiersze.
A pozostałych wierszy tabeli dla innych gmin i miast, żeby nie wyświetlało.

  1. <?php
  2. $strona = file_get_contents('http://www.warszawa.pgedystrybucja.pl/index.php?pid=198');
  3.  
  4. echo '<pre>';
  5. preg_match('/<table style="BORDER-COLLAPSE: collapse" border="0" cellspacing="0" cellpadding="0" width="646">(.*)<\/table>/s', $strona, $wynik); // (.*) pobiera wszystko bez wyjątku
  6. var_dump($wynik);
  7. ?>
fate
  1. preg_match('/<table style="BORDER-COLLAPSE: collapse" border="0" cellspacing="0" cellpadding="0" width="646">(.*)Ostr(.*)Mazowiecka(.*)<\/table>/s', $strona, $wynik);


Zobacz czy wyświetliło Ci 4, zaznaczam że nie jest to zrobione idealnie
dominik_fil
Nie to, nie zmieniło niestety nic. Nadal wyświetlana jest pełna tabela.

Jak chcę wyświetlić wiersze tabeli z nazwą np. Ostrów Mazowiecka
To może jakoś to do tego wyrażenia regularnego trzeba włączyć"

<tr style="HEIGHT: 22.05pt">


Tylko jak?

fate
  1. preg_match('/<tr style="HEIGHT: 22.05pt">(.*)Ostr(.*)Mazowiecka(.*)<\/tr>/s', $strona, $wynik);


tak samo poszukaj analogii, to pewnie już Ci zatrybi aaevil.gif
SmokAnalog
Użyj PHP DOM albo np. phpQuery, parsowanie HTML-a wyrażeniami regularnymi to przeważnie zły pomysł.
dominik_fil
Pewnie masz rację, ale ja nie za bardzo się na tym znam.
A to co już mam to pobiera mi już samą tabelkę w HTMLu z danymi ze strony.
I teraz nie weim jak należy wyciągnąć tylko z niej te wiersze które ja chcę.

Jak daje tu
preg_match('/<table

to ładnie całą tabelę pobiera,

a jak dam
preg_match('/<tr

to też wszystko wyciąga tylko, że już nie są dane poukładane w tabeli.

TO może jakoś je dałoby się teraz wrzucić ponownie do tabeli i tylko te dane, które są potrzebne?
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.