Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [regex][php] Wyszukiwanie tabeli html nie zawierającej innej tabeli
deirathe
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


Chciałbym wyszukać w dokumencie html tabelkę, a właściwie jej treść, która nie będzie zawierać innej tabelki. Próbowałem czegoś takiego:
  1. <?php
  2. preg_match_all("#<table>[^(<table>)]*</table>#is",$tekst,$m);
  3. ?>


ale nie działa, samo [^<table>] też nie będzie działać tak jak chcę, czy ktoś wie jak to rozwiązać??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
R4D3K
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. preg_match_all('/<table>([^<///table>])<///table>/',$tekst,$m);
  3. ?>


Ta funkcja odszuka Ci tabelkę, jeśli natrafi na zagnieżdżenie (co jest nie zgodne z standardem WC3 i tak się nie powinno robić, przypominam tabelka powinna służyć tylko do formatowania wyświetlania danych, a zamiast zagnieżdżania powinieneś stosować rowspan i colspan) to powinna wyjąć najbardziej zagnieżdżoną tabelkę.

Tylko pamiętaj o:
* wyjmiesz tabelkę razem z <tr><td>
* jeśli masz <table class=... lub inne tego typu rzeczy skrypt nie zadziała, trzeba przerobić odpowiednio wzorzec wyrażenia regularnego.

Ten post edytował R4D3K 16.06.2009, 10:36:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 22:59