Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Odczytywanie pliku *.txt
patryk20120
post 19.10.2008, 20:32:18
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


Witam winksmiley.jpg
Mam pytanie, czy jest taka opcja w php, która pozwala odczytać tekst w pliku *.txt pomiędzy jakimiś wyrazami/tagami questionmark.gif

np. mam plik (txt) o treści:
Kod
abc to jest tekst abc

i chodzi mi o to, aby funkcja wyciągnęła tylko ten tekst, który jest pomiędzy "abc"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
marcok
post 19.10.2008, 20:37:09
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 8
Dołączył: 15.10.2008
Skąd: Wrocław

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


  1. <?php
  2. $source = 'abc to jest tekst abc';
  3. $part = explode("abc", $source);
  4. echo $part[1];
  5. ?>


Podstawy!!! Pozatym radze częściej zaglądać do manuala : http://pl2.php.net/manual/pl/function.explode.php" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
patryk20120
post 19.10.2008, 20:40:06
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


marcok, dzięki wielkie, ale wyeliminuje to "abc" z dwóch stron questionmark.gif
Go to the top of the page
+Quote Post
marcok
post 19.10.2008, 20:41:07
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 8
Dołączył: 15.10.2008
Skąd: Wrocław

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


tak wyświetli się :

  1. to jest tekst


Ten post edytował marcok 19.10.2008, 20:41:44
Go to the top of the page
+Quote Post
patryk20120
post 19.10.2008, 20:45:54
Post #5





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


A wiesz może jak zrobić takie coś:
jest plik(txt) o treści:
Kod
abc tekst1 abcd
qwe tekst2 qwer

i żeby wyświetliło mi to tak:
Kod
tekst z tagów abc/abcd: "tekst1"
tekst z tagów qwe/qwer: "tekst2"

czyli żeby pominęło 2 różne tagi questionmark.gif
Go to the top of the page
+Quote Post
raptorx
post 20.10.2008, 07:54:49
Post #6





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 28.09.2008
Skąd: Z drugiej strony kabla

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


  1. <?php
  2. $source = 'balcer to jest pomiedzy auto abc To jest nmiedzy pierwszymi literami abcd
  3.  
  4. abc';
  5. $parta = explode("balcer" & "auto", $source);
  6. echo $parta[1];
  7. $partb = explode("abc" & "abcd", $source);
  8. echo $partb[1];
  9. ?>


To jest taki przykład. Pozdrawiam

//edit Zmienione bo nie zauważyłem, że dwóch różnych. Pozdrawiam. raptorx

Ten post edytował raptorx 20.10.2008, 13:55:11


--------------------
PHP & MySQL
Go to the top of the page
+Quote Post
zegarek84
post 20.10.2008, 10:00:11
Post #7





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


rozwiązania okreżną drogą... - prościej skożystać z wyrażeń regularnych i po więcej odsyłam do google pod haslem php wyrażenia regularne...

Kod
$subject = "abc tekst1 abcd
qwe tekst2 qwer";
$pattern = "/^abc(.*)abcd/";
preg_match_all($pattern, $subject, $matches);
print_r($matches);


lub wszystko ale lepiej 2 zrobić osobno tablice

Kod
$subject = "abc tekst1 abcd
qwe tekst2 qwer";
$pattern = "/^abc(.*)abcd|qwe(.*)qwer/";
preg_match_all($pattern, $subject, $matches);
print_r($matches);


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
patryk20120
post 5.12.2008, 14:53:49
Post #8





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


Mam taki kod:
  1. <?php
  2. $source = 'abc to jest tekst w  bob a to poza';
  3. $part = explode("abc" & "bob", $source);
  4. echo $part[1];
  5. ?>

i chcę, aby wyświetliło mi tekst pomiędzy "abc" i "bob" a poza nim nie, lecz skrypt nie wyświetla mi żadnego z tekstów...
Go to the top of the page
+Quote Post
erix
post 5.12.2008, 19:27:06
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
i chcę, aby wyświetliło mi tekst pomiędzy "abc" i "bob" a poza nim nie, lecz skrypt

Od tego są wyrażenia regularne. Tu explode" title="Zobacz w manualu PHP" target="_manual nie przyda Ci się.

PS. Sprawdź sobie, do czego służy operator "&".


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
patryk20120
post 6.12.2008, 13:03:46
Post #10





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


A mógłbyś naprowadzić mnie na jakiś "trop" nie wiem od czego zacząć :/
Go to the top of the page
+Quote Post
erix
post 6.12.2008, 17:18:06
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Proponuję zacząć od lektury manuala i przeszukania Google. To jest trop. Temat rzeka: "WYRAŻENIA REGULARNE".


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
patryk20120
post 12.12.2008, 15:37:45
Post #12





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


A do wyszukania w tekście np. "abc" jaka funkcja służy questionmark.gif
znalazłem tylko "ereg"
  1. <?php
  2. if (ereg('abc', $sStr))
  3. ?>

ale wyszukuje ona tylko na początku zmiennej, a ja chcę, aby ona po całej zmiennej szukała np. jak znajdzie w środku to żeby też zwrócił true

Ten post edytował patryk20120 12.12.2008, 15:37:59
Go to the top of the page
+Quote Post
bliitz
post 12.12.2008, 16:23:58
Post #13





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

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


poczytaj manuala na temat preg_match oraz preg_match_all na stronie php.net


--------------------
Go to the top of the page
+Quote Post
patryk20120
post 2.01.2009, 21:28:19
Post #14





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

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


No dobrze, mam funkcje zastępowania danego wyrazu, ale jak zrobić to, że pokazuje mi tekst z pliku tylko wpisany pod danymi tagami np.
Zawartość pliku *.txt:
Kod
<1> test1 </1>
<2> test2 </2>

a na stronie wyświetli mi tak:
Kod
Z tagów <1> i </1>: test1
Z tagów <2> i </2>: test2

Po prostu chodzi mi o to, żeby wyszukać dany tag i wyświetlić jedynie to co jest pomiędzy nim smile.gif
Bardzo proszę nie o gotowy skrypt, ale więcej szczegółów.
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: 19.07.2025 - 09:49