Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie z pliku zmiennej liczby znaków
devios
post
Post #1





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

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


Witam serdecznie.

Mam problem z wykonaniem pewnego polecenia, a mianowicie chcę pobrać z plików pewną liczbę znaków, która nie jest z góry określona. Dokładniej polecenie ma zadanie pobrać pierwszy akapit tekstu, a więc tekst <p>jakiś tekst</p>. Chciałem wykorzystać następujące polecenie:
$fp = fopen("test.txt", "r");
$tekst = fread($fp, 10);
Tutaj jednak z góry muszę określić, ile znaków ma zostać pobranych. Potrzebne jest polecenie, które pobierze wszystkie znaki dopóki nie dojdzie do </p>. W jaki sposób coś takiego osiągnąć? Proszę o pomoc.

Pozdrawiam.
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

  1. $fp = fopen("test.txt", "r");
  2. $tekst = fread($fp, filesize("test.txt"));
  3. preg_match("#<p[^>]*>(.*)</p>#isU",$tekst,$matches);
  4. $tekst = strip_tags($matches[1]);
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Tworzysz sobie buffer na odczytane dane.
2. W pętli odczytujesz dane po kawałku - powiedzmy po 1024 bajty.
3. W odczytanym kawałku wyszukujesz "</p>" (strpos).
4. Jeżeli nie odnaleziono "</p>" do buffera dopisujesz cały kawałek.
5. Jeżeli odnaleziono "</p>" do buffera dopisujesz jedynie kawałek (substr + wynik strpos() z punktu #3).
Go to the top of the page
+Quote Post
devios
post
Post #4





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

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


Dziękuję serdecznie, sposoby działają. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 27.09.2025 - 01:55