Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]X Linijka od końca
Forum PHP.pl > Forum > Przedszkole
vbig
Witam. Czy idzie zrobić aby skrypt PHP automatycznie wyszukiwał jakąś linijkę zaczynając od końca (ponieważ linijki są czasem dodawane, ale tylko na początku dokumentu) z danego adresu i aby z treści tej linijki zostały wycięte pewne stałe fragmenty. Proszę o pomoc smile.gif
jajcarzd1
Może użyj funkcji file która wczytuje zawartość pliku do tablicy. Jeśli chcesz ostatnią linijkę to odczytujesz ostatni element w tablicy
vbig
plik który chce wczytać nie znajduje się na moim serwerze, jest to plik XML a linijka którą próbuję przerobić jest 9 od końca...

@jajcardz1
jestem w tym na serio zielony, ale zastosowałem się do znalezionych informacji i się nie udało sad.gif
fire_dept
Poszukaj o simple xml

http://www.willfitch.com/simplexml-tutorial-part1.html
jajcarzd1
Cytat(vbig @ 9.06.2010, 20:51:01 ) *
plik który chce wczytać nie znajduje się na moim serwerze, jest to plik XML a linijka którą próbuję przerobić jest 9 od końca...

@jajcardz1
jestem w tym na serio zielony, ale zastosowałem się do znalezionych informacji i się nie udało sad.gif


No ale co jest nie tak ? Powinno działać bez problemu, nie ładuje Ci pliku czy masz problem z wyciągnięciem tej konkretnej linijki ?

  1.  
  2. $lines = file('http://www.example.com/plik.xml');
  3.  
  4. // to powinno Ci wyświetlić 9 linijkę
  5. echo $lines[count($lines)-9];
  6.  


przeleć sobie jeszcze całą tablicę żeby sprawdzić czy wszystko poprawni się załadowało.

  1.  
  2. foreach ($lines as $line_num => $line) {
  3. echo "Linia #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
  4. }
  5.  
vbig
Wyświetla wszystkie linijki niestety... jakieś pomysły? smile.gif
nospor
bo ten kod:
  1. foreach ($lines as $line_num => $line) {
  2. echo "Linia #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
  3. }

wlasnie to robi - wyswietla wszystkie linijki....

Ty miales odpalic ten:
  1.  
  2. $lines = file('http://www.example.com/plik.xml');
  3.  
  4. // to powinno Ci wyświetlić 9 linijkę
  5. echo $lines[count($lines)-9];
jajcarzd1
Cytat(vbig @ 10.06.2010, 13:31:55 ) *
Wyświetla wszystkie linijki niestety... jakieś pomysły? smile.gif


Ale po której operacji otrzymujesz wszystkie linijki ? Pakuje Ci to wszystko do pierwszego elementu tablicy czy każda linijka jest w osobnym elemencie tablicy ?
vbig
heh, no tak- mój błąd, ale teraz żadna linijka się nie wyświetla (a w źródle jest) i coś mi sie zdaje, że robie jakiś podstawowy błąd tongue.gif

I nadal niestety nie wiem jak usunąć z tej linijki niepotrzebny tekst tongue.gif
jajcarzd1
Cytat(vbig @ 10.06.2010, 13:57:27 ) *
heh, no tak- mój błąd, ale teraz żadna linijka się nie wyświetla (a w źródle jest) i coś mi sie zdaje, że robie jakiś podstawowy błąd tongue.gif

I nadal niestety nie wiem jak usunąć z tej linijki niepotrzebny tekst tongue.gif



Pokaż może próbkę tego pliku i dokładnie kod jaki wykorzystujesz
vbig
@jajcardz1
Heh, jak mówiłem- prostacki bład tongue.gif

  1. <?php
  2. $lines = file('example.xml');
  3. $npatch = $lines[count($lines)-9];
  4. ?>


zapomniałem o htmlspecialchars smile.gif
I teraz tak, pokazuje mi się 9 linijka od końca:
Kod
<Data Ver="1.0.12" PatchFile="1.0.12.RTP" Date="0609"/>

ale jak usunąć
Kod
<Data Ver="
i
Kod
"PatchFile="1.0.12.RTP" Date="0609"/>
? Próbka pliku już chyba nie jest potrzebna a kod jest powyżej smile.gif
jajcarzd1
Jak chcesz żeby ta linijka wyglądała, czyli co ma pozostać ?
Pawel_W
Cytat(jajcarzd1 @ 10.06.2010, 15:08:26 ) *
Jak chcesz żeby ta linijka wyglądała, czyli co ma pozostać ?

chyba prost... to: 1.0.12

poczytaj o wyrażeniach regularnych
http://pl.wikibooks.org/wiki/PHP/Podstawy_...%84_regularnych

@jajcarzd1
w sumie można i tak, zapomniałem
jajcarzd1
Spróbuj tak:

  1.  
  2. $a = '<Data Ver="1.0.12" PatchFile="1.0.12.RTP" Date="0609"/>';
  3. $xml = simplexml_load_string($a);
  4.  
  5. // to ma wyświetlić 1.0.12
  6. echo $xml['Ver'];
  7.  
  8.  
vbig
Dziękuję, problem rozwiązany smile.gif Temat można zamknąć.
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.