![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Szukam funkcje która wyszuka w ciągu wartość od-do. Przykład - mam bardzo długi ciąg (powiedzmy że są to ustawiania w jakimś pliku) "Tytuł=bla bla bla bla Nazwa=blablablabla Język=Polski" i chciałbym otrzymać zawartość powiedzmy Nazwy czyli od "Nazwa=" do \n czyli przejścia do nowej linii. Przepraszam, że opisałem to jak kali jeść kali pić ale inaczej tego opisać nie potrafię ![]() Za pomoc z góry dziękuje. Pozdrawiam, Monter08 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
jeśli twój plik zawsze będzie miał zawartość typu
Kod a=1 b=2 c=lala to otwórz ten plik za pomocą file() - ta funkcja zapisze Ci tekst do tablicy, której elementy będą liniami/wierszami pliku tekstowego. następnie użyj explode ro rozbicia ciągu np. explode('=', 'a=5') zwróci Ci tablicę 2-elementową, której element o ideksie 0 będzie miał wartość "a", a element o indeksie 1 będzie miał wartość "5" -------------------- :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Właśnie mój skrypt się na tym opiera, lecz jeżeli przyjdzie jakiś użytkownik i wstawi "Nazwa=ble=ble" to już wszystko idzie na marne, dlatego nie chce robić to explode tylko jakąś funkcją co odnajdzie mi wartość od do. Próbowałem preg_match ale jakoś mi nie wychodzi, zapewne źle wpisuje składnie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
a czy user może dać znak nowej linii ?
jeśli nie, to po prostu scal wszystkie elementy tablicy, oprócz elementu z indexem 0. Możesz do tego użyć implode, albo nawet zwykłej pętli. -------------------- :)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Może dodać.. Czekam na dalsze pomysły, zastanawia mnie użycie funkcji preg_match potrafi ktoś ją dobrze złożyć, aby przeszukiwała "Nazwa= \n"?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
-------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Widziałem. Ale przetestuj ten przykład. I zwróć uwagę na ostatni, trzeci parametr explode()
Ten post edytował morbic 17.07.2011, 18:31:53 -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Wybacz morobic, nie zauważyłem
![]() użytkownik loguje się, klika konfiguracja i w tej chwili poleceniem "cat plik grep nazwa" pobieram sobie zawartość nazwy i łamie to na dwie części przez explode, lecz tych opcji jest bardzo dużo i trochę to zajmuje i trochę to rozbiłem bo czasami polecenie cat znajduje dwie możliwości i muszę je także rozbijać i to też zajmuje. Dlatego właśnie szukam polecenia które gdy pobiore sobie cały plik konfiguracyjny przeszuka mi go i wyświetli zawartość.Na pewno mniej to będzie zajmować i lepiej się sprawować, wiec jeżeli ktoś mógłby mi pomóc podając tą funkcje byłbym szczęśliwy i jakoś to by wyglądało.. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wywołujesz "cat plik | grep nazwa" z poziomu PHP? Jeśli tak, to niepotrzebnie utrudniasz sobie życie.
Najlepiej podaj format danych (pliku konfiguracyjnego), jaki masz i podaj przykład, w jakiej formie chciałbyś te dane dostać. Będzie łatwiej nakierować i zrozumieć, bo mam wrażenie, że idziesz z Katowic do Krakowa przez Moskwę. -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
ehh.. przecież napisałem to tylko, dlatego żeby pokazać, że to nie jest dobry pomysł.. Polecenie wysyłam przez ssh2 do maszyny.. i właśnie dlatego chcę zastąpić tą metodę, ponieważ tych poleceń wysyłam 8 i to trochę trwa.. Widzę, że się nie rozumiemy..
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Najłatwiej się zrozumiemy, jeśli wrzucisz kod, który masz obecnie. Zobaczymy jak da się to zrobić prościej
![]() -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
ehh.. nie wiem po co, proszę tylko o jedną funkcje, ale proszę bardzo..
odpowiada to za pobranie wartości, wszystkie nie wkleiłem (jeżeli ktoś by chciał się przyczepić) powiem tylko, że całość działa. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zawsze gdy wymyślasz jakieś nowe "narzędzie" (tutaj format pliku) zastanów się czy to w ogóle ma sens. Czy nie lepiej skorzystać z XML-a albo SQLite? Napisz do czego i jak będziesz to wykorzystywał i jeżeli w gotowym narzędziu nie znajdziesz jakiś barier nie do przejścia nawet nie trudź się w wymyślaniu własnego - nie warto.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
cała moja aplikacja to panel do obsługi serwerów głosowych (aktualnie pisze część ventrilo), więc trudno jest mi zmieniać cały program odpowiadający za klienta do własnej woli, wręcz jest to nie możliwe.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Własny format tu odpada, ograniczenie configiem ventrilo. Ale teraz już rozumiem o co chodzi.
O to chodziło? Ten post edytował morbic 17.07.2011, 21:55:03 -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
hmm, morbic Dzięki!
![]() ![]() //btw, lepszym rozwiązaniem jest wykorzystanie sftp niż pobrać to catem ![]() Ten post edytował Monter08 17.07.2011, 22:01:25 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
//btw, lepszym rozwiązaniem jest wykorzystanie sftp niż pobrać to catem ![]() Zdecydowanie, ale nie o to pytałeś, więc nie chciałem mieszać za bardzo ![]() -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ventrilo_srv.ini - skoro to plik INI to dlaczego nie skorzystasz z parse_ini_file?
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 22 Dołączył: 16.09.2010 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
Crozin - próbowałem, lecz mam mały problem z wyświetleniem danych, ponieważ otrzymuje coś takiego:
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:00 |