Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] DOM, połazić po tabelkach
Forum PHP.pl > Forum > Przedszkole
wNogachSpisz
Witam wcześnie rano (3:06)

Pisze właśnie apikacje, której jednym z celów będzie przejście się po tabelce i wyciągnięcie z niej danych.
Tabelka ta ma kilka TRów (ze 3) i multum TDów
Moje pytanko jest następujące:

Jak sporządzić z tych danych wejściowych HTML ładną tablice danych Array() zwartą i gotową do kolejnych przetworzeń smile.gif Oczywiście przy użyciu PHP DOM, bo regexami mi się już nie chce z tym bawić, szczególnie że zależy mi na estetyce kodu.
Prosze nie odsyłajcie mnie koleżanki i koledzy do manuala, chyba że do konkretnego komentarza.
Google też nie okazało się dla mnie przychylne...


Z góry dzięki za pomoc.
Dobranoc x-| zzzzZzzZzz




digout
SzamanGN
Podaj przykład danych w tabeli i sposób ich przetworzenia, oczywiście w celu zrozumienia problemu.
wNogachSpisz
dane wejściowe: (dla modków przysick HTML nie działa na operze 9.64)
<table id="utratable">
  <tr id="hipercolls">
  <td> tra </td>
  <td> la </td>
  <td> la </td>
  <td> heehe </td>
  </tr>
  <tr>
  <td> a </td>
  <td> tu </td>
  <td> cos </td>
  <td> innego </td>
  </tr>
  <tr>
  <td> inne </td>
  <td> bzdury </td>
  <td></td>
  <td></td>
  </tr>
</table>


a sposób przetowrznia:

array(
[tr] => array(td, td, td, td),
[tr] => array(td, td, td, td),
[tr] => array(td, td, td, td),
)

lub podobnie

slowem, z tabeli HTML do tablicy ARRAY
Crozin
Podstawy... przy użyciu SimpleXML" title="Zobacz w manualu PHP" target="_manual (o ile to poprawny XHTML) szybko to zrobisz.
wNogachSpisz
dla modków, przycisk PHP nie dziala w operze 9.64



Niestety nie za bardzo chce to działać:



Message: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 124: parser error : Entity 'nbsp' not defined

Message: SimpleXMLElement::__construct() [simplexmlelement.--construct]: %; height: 100%; text-decoration:none" target="_top" href="../index.html">&nbsp;

Message: SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^

Message: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 131: parser error : Entity 'nbsp' not defined

I tak dalej, i tak dalej, pełno tego..



Co teraz? sad.gif
Crozin
Możesz pokazać kod który chcesz parsować?
wNogachSpisz
to cPanel 11, angielskojezyczny, zakladka opowiadajaca za konta email, czy na prawde musze go tutaj wklejac? smile.gif
Crozin
No to jeżeli kod jest niepoprawny to IMO najszybciej regexpami to wyciągniesz.
wNogachSpisz
Ze najszybciej to ja wiem, tyle ze ja robie API do calego cPanelu, więc chce miec klar w kodzie

Narazie ćwicze z libem o nazwie: SimplePhpDom, (https://sourceforge.net/projects/php-html/)

Daje rade..

Czy na prawde żadna biblioteka PHP nie poradzi sobie ze zwyklym HTMLem?
zegarek84
skorzystaj z Document Object Model a wczytując dokument HTML'a poprzedź funkcję @ - kiedyś z tego kożystałem i jakoś nie narzekałem...

chociaż tą biblioteką SimplePhpDom powinno Ci się łatwiej przeszukiwać dokumenty jeśli korzystasz/korzystałeś z jQuery... sam DOM przypomina surowego JS... (no może nie ze składnią ale...)
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.