![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 2 Dołączył: 12.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chcę napisać wyrażenie regularne które będzie sprawdzało czy link jest zwykłą statyczną stroną czy modułem.
Powiedzmy, że mam dwa moduły core i auth. Oto przykładowe linki :
Moje wyrażenie to :
Do testu używam:
Niestety auth rozpoznaje mi jako stronę statyczną. Można przekształcić to wyrażenie w taki sposób żeby zwracało fałsz wtedy gdy zaczyna się od 'auth' lub 'core' i ignoruje resztę znaków? EDIT: No więc teraz jestem na etapie, gdzie wszystko ładnie śmiga, ale jeśli będzie link author to uzna to jako moduł auth..
Ten post edytował Yorki 7.02.2012, 18:38:13 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A po co tutaj w ogóle wyrażenia regularne, skoro jedyne co robisz to sprawdzasz czy podany ciąg rozpoczyna się od danej wartości?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 2 Dołączył: 12.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
A po co tutaj w ogóle wyrażenia regularne, skoro jedyne co robisz to sprawdzasz czy podany ciąg rozpoczyna się od danej wartości?
Dlatego :
Ten post edytował Yorki 7.02.2012, 19:29:21 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Nic nie stoi na przeszkodzie byś stworzył własny typ Route'a (nijak nie da się tego chyba sensownie przetłumaczyć?), wystarczy by implementował interfejs Zend_Controller_Router_Route_Regex.
2. http://www.php.net/manual/en/regexp.reference.assertions.php 3. #^(?!core|auth)\w+$# |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 2 Dołączył: 12.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Gdyby ktoś kiedyś szukał rozwiązania :
Kod (^(?!.*(auth($|\/)|core($|\/))).*$)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 20:29 |