Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrazenie regularne
Forum PHP.pl > Forum > PHP
joytec
Witam.

Mam problem w napisaniu wyrazenia regularnego ktore dopasowuje string ale za wyjatkiem takich stringów jak pl en de

probowalem z czyms takim ale poleglem:

^([^pl|^de|^en])$

Dzięki za wszelka pomoc
EarthCitizen
Nie wiem jak to zrobić na jednym wyrażeniu. Może użyjesz dwóch?
np:
  1. <?php
  2. if (!eregi("^(en|pl)$", $string) && eregi("^([a-z]+)$", $string)) {
  3.    echo 'pasuje';
  4. }
  5. ?>
ucho
^([^p].*|[^d].*|[^e].*|p[^l].*|d[^r].*|e[^n].*|.?)$ <- Nie wiem czy to zadziała ale powiedzcie proszę, że to się da jakoś prosto zapisać winksmiley.jpg Nie mówiąc o tym że oczywiście lepiej sprawdzać czy to nie jest string pl/en/de a później ewentualnie pozostałe warunki.
joytec
przepraszam ale zapomniałem dodac ze to dotyczy mod_rewrite
EarthCitizen
A możesz napisać co dokładnie chcesz osiągnąć?
joytec
uzywam przyjaznych adresow i chcialbym to odniesc rowniez do werssji jezykowych

wiec:

na poczatku adresu zawsze bedzie wersja jezykowa
czyli: www.costam.pl/en

moze byc rowniez www.costam.pl

moze byc tez cos takiego www.costam.pl/en/kontakt

wiec potrzebuje wyrazenia regularnego do rozpoznawania czy na pocztku jestwerja jezykowa i czy druga grupa adresu nie rowna sie pl/en/de
zeby dodac wartosc do odpowiedniego pkiku php
wiec mam cos takiego pierwsza czesc dziala na rugiej poleglem
RewriteRule ^(en|pl|de)/?([^pl|^de|^en])$ index.php?action=$1&lang=$2
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.