Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzenie, czy zmienna zawiera adres strony internetowej
Forum PHP.pl > Forum > PHP
mariusz_edw
Witam

Potrzebowałbym sprawdzać czy dana zawiera adres strony internetowej (składa się z wyrazów rozdzielonych kropkami, nie zawiera spacji, zawiera ewentualnie http://) i na tej podstawie wykonać akcję A lub B.

Ktoś pomoże? Dziękuję :-)
kartin
preg_match()
by_ikar
Jeżeli dane nie są "zmienne" o wiele lepiej jest użyć strstr niż wyrażeń regularnych. Regex to potężne narzędzie, ale trzeba znać jego słabe strony..
kartin
Cytat(mariusz_edw @ 12.09.2014, 19:22:35 ) *
składa się z wyrazów rozdzielonych kropkami, nie zawiera spacji, zawiera ewentualnie http://
Tego za pomocą strstr() się nie obsłuży. Jeśli adres byłby zawsze ten sam to oczywiście strstr() będzie szybsze i właściwsze niż wyrażenia regularne.
mariusz_edw
Sprawdzam takie coś:

  1. $url = "http://www.piotrnalepa.pl/";
  2. if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url))
  3. {
  4. echo "Podany URL jest poprawny.";
  5. }
  6. else
  7. {
  8. echo "Podany URL jest błędny.";
  9. }


Ale zwraca mi: Podany URL jest błędny.

Coś nie działa...

PS. Chciałbym, żeby wszystkie zapisy:

http://www.piotrnalepa.pl/
http://www.piotrnalepa.pl
www.piotrnalepa.pl
piotrnalepa.pl

Były interpretowane jako poprawne.

A zawierający znak "@" lub rozdzielone spacjami, z kropką na końcu, by zostały zinterpretowane jako błędne.
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.