Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Modyfikacja funkcji z użyciem EREG
Forum PHP.pl > Forum > Przedszkole
ewaslawek5
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.
emajl22
zamiast ereg daj preg_replace
http://blog.zeromski.com.pl/2008/05/wyraze...p-preg_replace/
ewaslawek5
A gdybym chciał pozostać przy EREG, co by trzeba dopisać do tego wyrażenia żeby myślniki również mogły być... ?

thek
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...
ewaslawek5
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.
thek
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.
ewaslawek5
SUPER,

Masz racje, i sory za moje znerwowanie smile.gif.
Przytoczoną przez Ciebie funkcje już łykłem.

Jeszcze raz dzięki.
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.