Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odczytywanie własnej obsługi błędów., preg_match_all()
starach
post 20.02.2007, 02:25:48
Post #1





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Witam
Kończę pisać swoją obsługę błędów.
Chcę odczytać błędy z pliku error.log ale nie mogę ułożyć poprawnego zapytania dla preg_match_all().
W pliku tekstowym mam:
Kod
[ERROR]
[day]20-02-2007[/day]
[hour]02:23[/hour]
[file]D:\WWW\orglee\class\class_mysql.php[/file]
[line]81[/line]
[desc]Connection Problem[/desc]
[message]Access denied for user 'orgleee'@'localhost' (using password: YES)[/message]
[/ERROR]
[ERROR]
[day]20-02-2007[/day]
[hour]02:23[/hour]
[file]D:\WWW\orglee\class\class_mysql.php[/file]
[line]81[/line]
[desc]Connection Problem[/desc]
[message]Access denied for user 'orgleee'@'localhost' (using password: YES)[/message]
[/ERROR]

Odczytać chcę za pomocą:
  1. <?php
  2. preg_match_all('#[ERORR](.*?)[/ERROR]#s', $file_cont, $errors_stored);
  3. print_r($errors_stored);
  4. ?>

Ale nic się nie wyświetla.
W czym rzecz ? Jak ułożyć odpowiedni pattern ?
Macie może jakieś samouczki do PCRE ?
Pozdrawiam.
Go to the top of the page
+Quote Post
bendi
post 20.02.2007, 09:34:31
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Literówka tongue.gif

  1. <?php
  2. preg_match_all('#[ERROR](.*?)[/ERROR]#s', $file_cont, $errors_stored);
  3. ?>


--------------------
Go to the top of the page
+Quote Post
starach
post 20.02.2007, 11:43:17
Post #3





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Ślepy człek ze mnie gdzie te błąd był / jest ? blink.gif
Go to the top of the page
+Quote Post
bendi
post 20.02.2007, 12:33:33
Post #4





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


No to przyjrzyj sie jeszce raz - znak po znaku
  1. <?php
  2. preg_match_all('#[ERORR](.*?)[/ERROR]#s', $file_cont, $errors_stored);
  3. preg_match_all('#[ERROR](.*?)[/ERROR]#s', $file_cont, $errors_stored);
  4. ?>


I co widać?

ERORR != ERROR


--------------------
Go to the top of the page
+Quote Post
starach
post 20.02.2007, 14:42:49
Post #5





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


No teraz to tak tongue.gif
Dziękuję [SOLVED]

edit>
Jeszcze taka sprawa bo porównuję nazwy plików ( razem ze ścieżką ) w którym wystąpił błąd.
Jako że ścieżki mają backslashe użyłem funkcji addslashes() żeby mi preg_match uznał je za tekst a nie modyfikator.
Czy powinienem jeszcze uwzględnić coś jeszcze ?
Innymi słowy czy w nazwach plików mogą wystąpić jeszcze jakieś znaki które spowodują niepoprawne wykonanie się preg_match ? Jeśli tak to jak się przed tym zabezpieczyć ?

Ten post edytował orglee 20.02.2007, 14:53:37
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: 13.06.2025 - 02:14