Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Modyfikacja funkcji z użyciem EREG
ewaslawek5
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Witam,

posiadam funkcję do sprawdzania poprawnego adresu strony WWW, funkcja działa, problem pojawia się gdy sprawdzany adres zawiera 'myślnik' np.:

adres-strony.pl

Przyznam że wyrażenia w PHP są dla mnie niezrozumiałe.

  1. function prawidlowy_adres($adres)
  2. {
  3. global $status;
  4. if (ereg("^(http://)[a-zA-Z0-9\-\.]+\.(eu|pl|info|com|co|org|net|mil|edu)$",$adres)) {
  5. $status = 'prawidlowy';
  6. }else{
  7. $status = 'nieprawidlowy';
  8. }
  9. }


Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
emajl22
post
Post #2





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


zamiast ereg daj preg_replace
http://blog.zeromski.com.pl/2008/05/wyraze...p-preg_replace/
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


A gdybym chciał pozostać przy EREG, co by trzeba dopisać do tego wyrażenia żeby myślniki również mogły być... ?

Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli posiadasz php w wersji conajmniej 5.2 to po kiego grzyba wymyslasz koło na nowo? Filter_var i FILTER_VALIDATE_URL a świat staje się prostszy...
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #5





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Podaje rozwiązanie, bo ciężko widzę z pomocą.
Pisałem i prosiłem że chciałem zostać przy EREG - pomocy się nie doczekałem.

Oto rozwiązanie:
  1. function prawidlowy_adres($adres)
  2. {
  3. global $status;
  4. if (ereg("^(http://)[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$",$adres)) {
  5. $status = 'prawidlowy';
  6. }else{
  7. $status = 'nieprawidlowy';
  8. }
  9. }


Dziękuje za szczerą pomoc Panie Thek

PS.
Pewnie będę zbanowany za oczernianie.
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli już chcesz wyrażenie regularne, to tutaj masz te użyte w Konanie 3.1... Co prawda preg_replace, ale chyba to nie problem?
http://kohanaframework.org/3.1/guide/api/Valid#email

PS: Nie widze o czerniania. A co do ereg to była z Twojej strony jedynie sugestia, a nie "to musi być ereg i koniec", tak więc nie zabroniłes podawać innych rozwiązań, a to akurat wydaje się być prostsze i na dodatek prawidłowe. Czemu? Bo adres url może zawierać znaków więcej niż tylko te wymienione przez Ciebie. Tak więc to co jest prawidłowym adresem, Twoja funkcja obecna uzna za nieprawidłowe. Przykład? katalog użytkownika w linuksie zaczyta się od tyldy ~ co jest jak najbardziej poprawnym adresem, tylko że nie dla Twojej funkcji.
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #7





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


SUPER,

Masz racje, i sory za moje znerwowanie (IMG:style_emoticons/default/smile.gif) .
Przytoczoną przez Ciebie funkcje już łykłem.

Jeszcze raz dzięki.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 17:51