![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 0 Dołączył: 19.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Więc tak:
Piszę sobie parser plików konfiguracyjnych (rozbudowane INI (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) i natknąłem się na problem. Otóż komentarze komentarze rozpoczynają się od znaku # lub ;. Mogą też być na końcu wartości: Kod ; To jest komentarz ; I to też :) # To jest inny komentarz # i to też [Test] # Sekcja o nazwie Test :D Nazwa = Wartość Dwa = Druga wartość; A tu jest komentarz do tej wartości Trzy = Chcem wyświetlić średnik: \; ale nie mogę \;(; Jak zrobić żeby usuwał tekst po; ale ignorował \;? [DrugaSekcja]; Sekcja druga! Tablica[] = 1 Tablica[Dwa] = 2; dwa W sekcji Test elementu Trzy chcem wyświetlić średnik, ale średnik robi za komentarz, więc poprzedzam go znakiem \. Potrzebuje jakiegoś wyrażenia regularnego, które pobierze wszystko do pierwszego ; lub #, ale pominie \; i \#. Tak jak jest w php $string = "quote \"s\" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) "; Próbuję coś wymyśleć, ale nic nie działa (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 701 Pomógł: 0 Dołączył: 26.06.2002 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
nie wgrzebujac sie w twoj problem.. nie lepiej uzyc parse_ini_file()" title="Zobacz w manualu PHP" target="_manual ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 0 Dołączył: 19.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 0 Dołączył: 19.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, zrobiłem takie wyrażenie:
Kod ^(.*?)(?:[^\\\\](?:;|\/\/|#)) Tylko teraz jak dam taki string do sprawdzenia:Kod Jestem# sobie wartością \;) // Testowa wartość To dostaje: Jeste. Zawsze, gdy napotka znak #, ; lub // ucina literkę poprzedzającą ten znak (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak bedzie chyba lepiej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Tylko, ze Twoj kod pobiera sam komentarz, a nie wszystko do niego, a tego wlasnie oczekiwal autor piszac pierwszego posta (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat(FiDO @ 2004-10-26 14:57:44) Tylko, ze Twoj kod pobiera sam komentarz, a nie wszystko do niego, a tego wlasnie oczekiwal autor piszac pierwszego posta (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Bardzo mozliwe, ale zamien preg_match" title="Zobacz w manualu PHP" target="_manual na preg_replace" title="Zobacz w manualu PHP" target="_manual i zobaczysz co Ci zostanie w oryginalnym ciagu - w koncu chyba o to chodzi. Jezeli zastosowac modyfikator /s to mozna sie pozbyc, wywolujac te regulke, wszystkich komentarzy z parsowanego pliku, no a od tego sie chyba zaczyna. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:59 |