Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wielce ciężki problem – jak pobrać dane z html i zapisać do bazy msql
Forum PHP.pl > Forum > Przedszkole
głąb
Mam taki problem próbowałem z funkcją file_get_contents ale niewiele mi z tego wyszło?

Chodzi o pobranie danych ze źródła html np. takiego:
  1. <p><span class="font8" style="font-weight:bold;">znaczenie 1, </span><span class="font8" style="font-style:italic;">-opis 1<sub> opis 1</sub> i,,</span><span class="font8"> </span><span class="font7" style="font-weight:bold;">1</span><span class="font5" style="font-weight:bold;">, </span><span class="font8"> opis 1<br/>opis 1<br/>opis 1</span></p>
  2. <p><span class="font8">1.</span><span class="font9">    </span><span class="font8" style="font-weight:bold;"> opis 1 </span><span class="font3" style="font-style:italic;">1</span><span class="font5" style="font-weight:bold;font-style:italic;">.</span><span class="font9"> </span><span class="font8"> opis 1</span></p>
  3. <p><span class="font8">2.</span><span class="font1">    </span><span class="font8" style="font-weight:bold;"> opis 1 </span><span class="font0" style="font-style:italic;">1</span><span class="font7" style="font-weight:bold;font-style:italic;">. </span><span class="font8" style="font-style:italic;">-</span><span class="font8"> </span><span class="font3">1</span><span class="font1">. </span><span class="font8"> opis 1<br/> opis 1<br/> opis 1</span></p>
  4. <p><span class="font8" style="font-weight:bold;">znaczenie 2, </span><span class="font8" style="font-style:italic;">- opis 2,</span><span class="font8"> opis 2<br/>nik.</span></p>
  5. <p><span class="font8" style="font-weight:bold;">znaczenie 3</span><span class="font8" style="font-style:italic;"> opis 3</span><span class="font8"> opis 3<br/> opis 3</span></p>

itd...
po pobraniu danych wprowadzić je do tabeli msql np. o nazwie "jeden" - kalumna "znaczenie" i kolumna "opis" czyli:
znaczenie 1 opis 1
znaczenie 2 opis 2
znaczenie 3 opis 3

itd. ?

Jeżeli ktoś by miał pomysł jak ten problem rozwiązać to byłbym niezwykle wdzięczny.
Z góry dzięki i pozdrawiam
Aqu
file_get_contents pobiera tylko źródło strony, jeżeli już je masz to musisz użyj jakiegoś parsera DOM, np. http://php.net/manual/en/domdocument.loadhtml.php\
ewentualnie http://php.net/manual/en/function.preg-match-all.php
głąb
dzięki za wskazówkę...
Na razie udało się zrobić coś takiego:

  1. $strona = file_get_contents('http://nazwa-strony');
  2. preg_match_all('/<span class=\"font8\" style=\"font-weight:bold;\"\>(.*?)<\/span>/s', $strona, $wynik, PREG_SET_ORDER);
  3. foreach ($wynik as $wynik2) {
  4. echo $wynik2[1]. "\n";
  5. }


co daje taki wynik:
znaczenie 1,
opis 1
opis 1
opis 1
znaczenie 2,
znaczenie 3


Dalej trzeba by jakoś usunąć wartości opis 1 , opis 1, opis 1, które mają być zapisane w drugiej kolumnie tabeli msql opis i przecinki ze znaczenia 1, znaczenia 2, po czym znaczenie 1, znaczenie 2, znaczenie 3 dodać do tabeli msql kolumna znaczenie

problem polega na tym, że znaczenie 1, opis 1 są między tymi samymi znacznikami <span class="font8" style="font-weight:bold;"> </span>

A jak drugą część opis 1, opis 1 , opis 1 , opis 1 (może być łącznie z html) ? wydobyć z html i dodać do bazy msql?

tak, że jeszcze droga daleka...

Jeżeli ktoś by miał pomysł jak ten problem rozwiązać to byłbym niezwykle wdzięczny.
Z góry dzięki i 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.