Skocz do zawartości
Zaloguj się, aby obserwować  
ulewicz

Funkcja skrócenia linka

Polecane posty

Witam,

 

Jakiś czas temu napisałem sobie do serwisu skrypt do skracania linku w ajax+php(pod mysql'em), wszystko śmiga oczywiście mi dobrze lecz jak skracam link z adresem http://www.jakislink.pl a jeżeli wpiszę adres http://jakislink.pl (bez www na poczatku) wyskoczy mi error który sobie ustawiłem w skrypcie jako nie poprawna forma linku/adresu. W skrypcie, by sprawdzał poprawność dałem sobie taką linijkę

 

if ( !eregi("^(http://)w*.?w.w+.*{:content:}quot;, $url) )

Próbowałem tam na różne sposoby, no ale nie mogę coś teraz tego naprawić, a z www mi dobrze śmiga...

Jakaś rada, którego znaku tam nie powinno być? by przeszło i skróciło adresy też bez "www" na początku.

Pozdrawiam.

//Edit: ...

Niby sobie to zrobiłem, huh zawsze jak coś napiszę to przyjdzie mi do głowy a odchodziłem od zmysłów. Zrobiłem takie coś w kodzie... zamiast tego wyżej:

if ( !eregi("^(http://)w*.?.+.*$", $url) )

 

Dobre rozwiązanie? czy mieli byście lepsze?

Edytowano przez ulewicz (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po pierwsze zrezygnuj z ereg bo to jest w wersji 5.3 Depraced

Samo wyrażeni regularne jest złe bo kropka oznacza dowolny znak, jak ma działać to wyrażenie regularne tzn. co ma walidować i jakie dane są poprawne a jakie nie ?

Edytowano przez regdos (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Hm, rozumiem. Co do danych to http:// by było wymagane na początku jedynie + by sprawdzał poprawność linku w formie http://adres.pl z domeną.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

^http://(.*)\.[a-z]{2,}$

Sprawdza początek czy ma http:// potem dowolne wystąpienie znaków, potem kropka potem tld, które może być tylko literami i musi mieć co najmniej dwa znaki.

 

Możesz użyć powyższego ale to ułomne i tak jest, skorzystaj z jakiegoś gotowca np. http://pear.php.net/package/Validate

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Okej, prawię problem mam rozwiązany i z głowy, dzięki. Ale mam jeszcze jedną sugestię, jak np. chcę ktoś skrócić link np w formie

Ps. Celowo spacja po com, bo aplet wyskoczy.

http://youtube.com / watch?v=giMwiFhLSmk&feature=player_embedded

 

 

ze slashiem i znakami po koncówce (domenie) to, nie idzie bo error poprawności. Hm? co dodać na koniec? /[a-z] ?

Edytowano przez ulewicz (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

zamiast "$" dać "/?" co daje sprawdzenie czy na końcu jest ukośnik lub nie ma. Znak dolara oznacz koniec a jak go wyrzucimy to dalej może być cokolwiek.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×