![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 1 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć ponownie (IMG:style_emoticons/default/smile.gif)
Wyrażenia regularne to straszna rzecz, szczególnie jak się jej nie rozumie, dlatego liczę na pomoc, preg_match ma zamieniać adres tak, żeby był w nim "http://" nawet jeśli potencjalny użytkownik wpisze adres.pl bez http. Jak to miałby wyglądać ? preg_match działa na zasadzie tak ? Dziękuje za pomoc (IMG:style_emoticons/default/happy.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 20 Dołączył: 20.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Funkcja o którą pytasz, to właściwie nie jest preg_match, a substr_compare (musisz sprawdzić, czy początkowe znaki to http://), ale i tak wypadałoby sprawdzić, czy użytkownik podał poprawny adres URL. Gdybyś dobrze poszukał na php.net (opis funkcji preg_match) znalazłbyś takie wyrażenie regularne dla URL-a (no dobra, usunąłem ftp:// i https:// (IMG:style_emoticons/default/winksmiley.jpg) ):
Pytanie, czy jest Ci ono potrzebne w tak rozbudowanej formie, ale na to sam sobie musisz odpowiedzieć (IMG:style_emoticons/default/winksmiley.jpg) Jeśli jednak potrzebujesz, to możesz je też rozbudować o inne protokoły, np. zmieniając w 1. linijce http na (http|ftp|ssl) itp. Po sprawdzeniu, czy URL jest poprawny, wystarczy mała funkcja:
A tak w ogóle to ja bym się zastanowił, czy nie warto zrobić tego w drugą stronę - obcinając wszędzie "http://" z przodu, żeby się później nie bawić z tymi ukośnikami np. przy zapisie do bazy danych, czy coś (IMG:style_emoticons/default/winksmiley.jpg) No i oczywiście zachęcam do nauczenia się wyrażeń regularnych, bo to baaaaardzo przydatna rzecz (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 23:21 |