Post
#1
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Witam
Mam taki ciąg: [page_title] [page_menu] [page_body] i wyrażenie:
Przed "[" i "]" znajdują się "\". Do tablicy zapisuje mi takie coś: Kod Array ( [0] => Array ( [0] => [page_title] [1] => [page_menu] [2] => [page_body] ) [1] => Array ( [0] => page_title [1] => page_menu [2] => page_body ) ) a chciałbym, by zapisywało tylko nazwy między "[" i "]". Co jest nie tak ? EDIT Chyba znalazłem rozwiązanie problemu. Tak jak napisał @hwao jest dodatkowy parametr, który należy ustawić. Jak się upewnię, że działa, to przedstawię rozwiązanie. Ten post edytował batman 16.10.2006, 08:19:57 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
to obcinaj z tego co ci zwroci jeden znak z przodu i jeden z tylu i bedziesz mial to co chcial...
do tego polecam funkcje substr() Link do manuala: http://pl.php.net/manual/pl/function.substr.php |
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Sądzę, że nie jest to najlepsze rozwiązanie. Po to stosuję wyrażenie regularne, by nie bawić się w inne operacje na ciągach. Nie jestem najlepszy w wyrażenia regularne, ale wiem, że można wyjąć ciąg znajdujący się między jakimiś znakami. Wyciąga mi, ale efekt nie jest taki jaki oczekiwałem.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%)
|
przecież zapisuje w [1] dobre nazwy... więc w czym problem? a jak przeszkadza Ci to [0] dodatkowo to wystarczy array_pop ...
Ten post edytował sf 15.10.2006, 18:45:09 |
|
|
|
Post
#5
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Cytat przecież zapisuje w [1] dobre nazwy... więc w czym problem? a jak przeszkadza Ci to [0] dodatkowo to wystarczy array_pop ... Po to by nie bawić się obrabianie wyniku. Nie potrzebuję innych elementów tablicy. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
tu ci zwraca tak jak chcesz przeciez:
[1] => Array ( [0] => page_title [1] => page_menu [2] => page_body ) masz to w tablicy $zmienna[1]; |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
By było jasne. Efekt, jaki próbuję uzyskać to:
Kod Array ( [0] => page_title [1] => page_menu [2] => page_body ) Nie chcę wyciągać podtablicy, wycinać znaków i wykonywać jakichkolwiek operacji na tej tablicy. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Najwyraźniej masz problemy ze zrozumieniem mojego pytania. Napiszę, więc jeszcze raz.
Jak uzyskać przy pomocy wyrażenia regularnego (gdzie się pomyliłem) efekt opisany w moim poprzednim poście. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
To chyba nie możliwe, a napewno nie przy pomocy funkcji preg_match_all. A co to za różnica?
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%)
|
@batman: napisz sobie w c, skompiluj, dodaj jako moduł i użyj batman_preg_match_all (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
hehe (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ale chyba pierwsze rozwiązanie jest bardziej optymalne (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#13
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
@sf
Hehe. Na to nie wpadłem. Chyba tak zrobię (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
zastanów sie tylko "po co?"
|
|
|
|
Post
#15
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
@1010
Ty piszesz na poważnie, czy tylko posty nabijasz ? |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%)
|
pisze na poważnie... powiedz mi co w tej funkcji preg_match_all jest ci takiego nie na rękę?
|
|
|
|
Post
#17
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Załóżmy, że masz pętle for, która iteruje przez 100 elementów. Ty potrzebujesz, by iterowała przez 80 elementów. Jak to zrobisz? Napiszesz warunek w pętli
czy zmniejszysz licznik do 80? Zanim odpiszesz zastanów się czy dobrze zrozumiałeś. |
|
|
|
Post
#18
|
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
wracajac do pytania z poczatku.
Pod zerowym kluczem zwracaly jest caly ciag ktory pasuje do wyrazenia, w nastepnych sa kolejno etomy. Z tego co sie orientuje to chyba byla jakas flaga ktora powodowala ze nie jest zwracany caly ciag pasujacy do wyrazenia, tylko atomy. Porozgladaj sie po flagach |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 06:03 |