Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Wyrażenia regularne]Zaprzeczenie, negacja
ShadowD
post
Post #1





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Dziś przez kilka godzin szukałem odpowiedzi na moje pytanie i jej nie odnalazłem co więcej wydaje mi się, że owa możliwość w ogóle nie istnieje w wyrażeniach regularnych.

Przypuśćmy że mamy kilka adresów:
www.aaa.qw.pl
www.bbb.qw.pl
www.bbb.qw,pl
www.ddd.qw.pl

I chcemy napisać prostą regułę która dopisze www gdy ktoś poda adres w postaci aaa.pl czy ddd.pl.
Możemy napisać coś w stylu:
RewriteCond %{HTTP_HOST} ^www.([a-z0-9]*).qw.pl$
RewriteRule (.*) http://www.%1.qw.pl [R,L]

Teraz nasuwa się wielkie pytanie, czy jest możliwość zaprzeczenia pogrubionej części wyrażenia??

Na pewno można zaprzeczyć znakom np:
[^a-z]
Czy też całości:
!^......$
Ale możemy tego dokonać do zwykłego 4 znakowego ciągu a może w ogóle powinienem zabrać się do tego problemu z innej strony??

Z góry dziękuję za pomoc...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


No nie ale do reszty, coś mi się musiało pokręcić już załogo nad tym siedzę zaraz przetestuję twoje rozwiązanie a tymczasem mój wymysł:

RewriteCond %{HTTP_HOST} !^www.([^a-z0-9./]*)$
RewriteRule (.*) http://www.%1 [R]

Niestety nie działa z:
http://fala.cmsss.pl/
Tworzy:
http://www..com

Może jakiś pomysł(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ;p

EDIT:
Twoje rozwiązanie prowadzi do identycznego wyniku z:
http://fala.cmsss.pl/
Tworzy:
http://www..com

Ten post edytował ShadowD 29.11.2008, 13:46:00
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 10:38