Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_match - dwa warunki
Forum PHP.pl > Forum > PHP
adbacz
Umiem podstawy wyrażeń regularnych, ale to co potrzebuję zrobić wykracza poza moje granice. Potrzebuję napisać wzorzec, aby sprawdzał, czy podany URL prowadzi do innego serwera, czy jest na naszym. Chodzi konkretnie o to, że nie może być na początku przykładowo http://domena.pl/images/zdjecie_przykladowe.png a, żeby przykład: /images/zdjecie_przykladowe.png z poprzedzającym slashem lub bez niego przechodził bez problemu weryfikację.

Wiem, że jeśli w danym ciągu ma nie być jakiś znaków, to przez znakami w nawiasie stawia się daszek ^, ale jak to zastosować do kilku ciągów: http://, ftp://, https:// itp?

Jesli można to prosiłbym chociaż o wskazówkę, jak wkorzystać ten daszek i znak, który mówi "albo", czyli |.
CuteOne
poczytaj o parse_url()
adbacz
Dzięki CuteOne, ale sama dokumentacja nawet mówi:
Cytat
Ta funkcja nie służy do sprawdzania poprawności podanego URL, tylko rozbija go na podane niżej części.


A ja potrzebuje sprawdzić, czy adres prowadzi do zewnętrznego serwera (http://) czy do naszego (/).
Na razie mam coś takiego:
  1. if(!preg_match('/^(h|f)tt?ps?\:\/\//i', $sImgPath)) {
  2. return false;
  3. }
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.