validacja url do obrazka

2010-12-05 00:50:37 Post #1 korey

 
kombinuje jak zrobić wyrażenie regularne które walidiowało by adres url który prowadzi bezpośrednio do obrazka. na czytałem się kilka artykułów i niestety nadal nic nie rozumiem..
ale zrobiłem coś takiego:
<?php
$str = 'http://www.imageshack.pl/katalog/image.gif';

preg_match('/^(http|https)\:\/\/[w-W]{3}\.[a-zA-Z0-9\.\-\_]\.[a-z]{2,3}\/[a-zA-Z0-9]\/[a-zA-Z0-9\-\_]\.(jpg|jpeg|gif|png|bnp)$/', $str);
?>

wyrażenie zwraca mi FALSE

pomocy

2010-12-05 17:34:39 Post #2 nospor

 
Głównie zapomniałeś o +
<?php
preg_match('/^(http|https)\:\/\/w{3}\.[a-z0-9\-\_]+\.[a-z]{2,3}\/[a-z0-9]+\/[a-z0-9\-\_]+\.(jpg|jpeg|gif|png|bnp)$/i', $str);

?>

2010-12-06 18:56:29 Post #3 korey

 
no twoja propozycja działa, ale chciałem ją ulepszyć i chyba popsułem
chciałbym by akceptowało mi jeden i więcej katalogów a adresie.

teraz zrobiłem coś takiego i nie działa zaden $string ;/
<?php
// $str ='http://img697.imageshack.us/img697/3572/av43704.jpg';
// $str = 'http://www.imageshack.pl/katalog/image.gif';
preg_match('/^(http|https)\:\/\/w{3}\.[a-z0-9\-\_\.]+\.[a-z]{2,3}\/[a-z0-9]\/+.[a-z0-9\-\_]+\.(jpg|jpeg|gif|png|bnp)$/i, $str');
?>

2010-12-06 19:06:17 Post #4 nospor

 
A wystarczylo [a-z0-9]+\/ zamienic na ([a-z0-9]+\/)+
preg_match('/^(http|https)\:\/\/w{3}\.[a-z0-9\-\_]+\.[a-z]{2,3}\/([a-z0-9]+\/)+[a-z0-9\-\_]+\.(jpg|jpeg|gif|png|bnp)$/i', $str);

2010-12-06 19:22:09 Post #5 korey

 
Ej ale testuje to i nie dziala..

2010-12-06 19:45:47 Post #6 nospor

 
Ej, ale ja testowalem i mi dzialalo
Pokaz lepiej swoj kod od testow

2010-12-06 19:46:16 Post #7 korey

 
http://maciek.lasyk.info/index.php?action=regexp_checker&check_it=1

2010-12-06 19:51:15 Post #8 nospor

 
Ja to testowalem w php a nie na jakiejs stronce... Sprawdz czy dziala ci w php a potem placz ze nie dziala

2010-12-06 20:14:32 Post #9 korey

 
pierwszy $str nie działa drugi tak .
jak zrobić by wyrażenie wybierało. albo www albo img1231..? bo to w tym chyba problem

2010-12-06 20:17:56 Post #10 nospor

 
preg_match('/^(http|https)\:\/\/(w{3}|img\d+)\.[a-z0-9\-\_]+\.[a-z]{2,3}\/([a-z0-9]+\/)+[a-z0-9\-\_]+\.(jpg|jpeg|gif|png|bnp)$/i', $str);

2010-12-06 20:48:25 Post #11 korey

 
no super teraz działa.. przydało by się byś zrobił jakiś ciekawy artykuł o wyrażeniach regularnych..

2010-12-06 21:42:05 Post #12 nospor

 
Nie czuję się ekspertem od wyrażeń
To co ty tutaj miales to banalne wyrazenie, podstawy wręcz - na tyle się znam

2010-12-07 08:03:38 Post #13 korey

 
ech.. szkoda.. Ja z tego co znalazłem w necie to wiem ze:
przed tym "\" daje sie znak specjalny.
pomiędzy [ i ] zakres znaków
pomiędzy { i } ilość znaków
pomiędzy tymi ( ) chyba grupa i to cala moja wiedza..

Odpowiedz

Ostatnio komentowane

  1. ShoutBox Podświadomość
  2. ShoutBox Trilux
  3. ShoutBox morelowy-dolomit
  4. ShoutBox Lucidoremi
  5. ShoutBox Goran Lezczek
  6. ShoutBox Ktos
  7. Opcje dwuwartościowe... gosc

Ostatnio na forum

  1. Prolem z biblioteką ... ele
  2. Programista/ka PHP, ... Kamil
  3. ilość wczytywanych m... boob
  4. Humor Masłan
  5. Humor Enynsenes
  6. Humor KLOFMDMANELLIGGLOOSK
  7. Humor Goran Lezczek

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer