Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie treści z z dokumentu HTML, Jak zlokalizować punkt odczytu w pliku?
pikom
post 7.03.2005, 12:59:38
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.02.2005

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


Witam,
Jako dość początkujący w php proszę o pomoc w rozwiązaniu pewnego problemu. Staram się przygotować skrypt pobierający dane z pliku xxx.htm.
Chodzi mi o "wyjęcie" określonej tabeli z treści pliku. Dla ułatwienia zadania treść do pobrania mam zamkniętą w opisach:

Kod
  <!-- TemplateBeginEditable -->
<!-- TemplateEndEditable -->

Do odczytu zrobiłem coś takiego (zapewne całkiem dziwacznie, ale działa):
  1. <? 
  2. $plik = &#092;"../katalog/nazwa.htm\";
  3. $czytaj = fopen($plik, &#092;"r\");
  4. $ile = filesize($plik);
  5. $n = fread($czytaj, $ile);
  6. $n1 = fread(fopen($plik, &#092;"r\"), 485);
  7. $n2 = &#092;"<!-- TemplateEndEditable --></td></tr></table></body></html>\";
  8. $n1a = str_replace($n1, &#092;"\", $n); 
  9. $n2a = str_replace($n2, &#092;"</td></tr></table>\", $n1a); 
  10. echo $n2a;
  11. fclose($czytaj);
  12. ?>

Koniec stringa jestem w stanie spokojnie "oczyścić" z niepotrzebnych elementów, ale mam zagwozdkę z początkiem. Problem polega na tym, że do określenia miejsca odczytu (początku) z pliku używam konkretnej wartości, a jeśli cokolwiek zamiesza się w nagłówku pliku to zaczynam dostawać głupoty.
Kod
$n1 = fread(fopen($plik, "r"), 485);
Próbowałem określić pozycję przez fseek(), ale to chyba nie tędy droga. Generalnie chciałbym wywalić ze stringa wszystko do pierwszego opisu. Czy mógłbym prosić o podpowiedzi?

Z góry dzięki za pomoc.
Pozdrawiam,
Pikom
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Darti
post 7.03.2005, 16:02:17
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


a może tak?
Kod
$n1 = fread(fopen($plik, "r"), stripos($n, '<!-- TemplateBeginEditable -->'));
pozdrawiam


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
pikom
post 7.03.2005, 21:07:45
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.02.2005

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


Dzięki za poradę.

Już miałem nadzieję.... Sądzę, że byłoby OK, gdyby nie fakt, że stripos() działa w php 5 a u mnie jest niestety "php Version 4.3.10".

[EDIT]
Poszedłem tym tropem i eureka!!! Wpadłem na strpos(), powinno działać...

Dzieki raz jeszcze za naprowadzenie "na trop" winksmiley.jpg


Pozdr.
Pikom

Ten post edytował pikom 7.03.2005, 21:11:47
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:33