Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] preg_match_all
Kazaan
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 17.07.2008

Ostrzeżenie: (0%)
-----


Witam wszystkich forumowiczow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mam problem z preg_match_all - mianowicie chcialem napisac uniwersalny skrypt pobierajacy url do grafiki z galerii ktore kieruja tylko do duzych obrazkow, w skrocie fotki z galerii z pominieciem reklam itp

mam taki kod:
Kod
$zmienna = file_get_contents("http://www.adresstron.com/galeria/");
preg_match_all("((<((a|A).(href|HREF|Href).[=(\"|')])([a-zA-Z0-9/\._-]*.jpg|JPG|png|PNG|jpeg|JPEG|gif|GIF)((\"|')><(img src|IMG SRC|img border=1 src)=(\"|'))([a-zA-Z0-9/\._-]*.(jpg|JPG|png|PNG|jpeg|JPEG|gif|GIF))(\"|')))",$zmienna, $matches);

print_r($matches);


Niestety raz wyswietla poprawnie wartosci raz nie, gdzie tkwi problem?? jesli ktos zna rozwiazanie to z gory dziekuje za pomoc!

Pozdrawiam
Kazaan
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zimi
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

Ostrzeżenie: (0%)
-----


tak modyfikator i jako pierwszy zdecydowanie
jako drugie nie widzę tutaj ograniczników wyrażenia regualrnego, tak żeby ten modyfikator i można było gdzieś wstawić, po trzecie ([a-zA-Z0-9/\._-]*.jpg|JPG|png|PNG|jpeg|JPEG|gif|GIF) ten fragment dopasuję, jakiś ciąg znaków z końcówką jpg i to wcale przed jpg nie musi być kropki bo w regularce nie jest zacytowana, lub dopasuję inne z rozszerzeń bez nazwy pliku (prawdopodobnie)
po czwarte nie zakładasz że przed adresem może się znaleźć np. title
po piąte pewnie jeszcze kilku rzeczy nie zakładasz, proponuję się przebić przez tutorial do wyrażeń regularnych jeszcze raz... i napisanie sensowniejszego regexp'a... potem można patrzeć dalej
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 01:55