neo1986kk
4.11.2011, 21:43:17
Witam,
mam takie wyrażenie regularne
#<\s*img [^\>]*src\s*=\s*(["\'])(.*(jpg).*)\1#im
i taki problem, że wybiera mi ono zdjęcia z src ale jeśli img ma atrybuty np alt="cos" to wybiera mi razem z tym altem, a chcę uzyskać tylko to co jest w src, czy jest taka możliwość, żeby przerobić to moje wyrażenie, aby wybierało mi to na czym mi zależy?
Pozdrawiam
A co powiesz na takie?
Kod
#<\s*img\s+[^>]*src\s*=\s*["']?([^"'>]+\.jpg)#i
Zakładam, że szukasz src kończącym się na .jpg.
neo1986kk
4.11.2011, 22:15:07
no ale teraz znajduje gify też, a chcę tylko jpg
Cytat(neo1986kk @ 4.11.2011, 22:15:07 )

no ale teraz znajduje gify też
Jesteś pewien?
neo1986kk
4.11.2011, 22:22:20
no jestem, a co gorsza nie znajduje jpg
tylko ze ja musialem to troche przerobic i u mnie wyglada tak
$image_regex = '#<\s*img\s+[^>]*src\s*=\s*["\']?([^"\'>]+\.jpg)#i';
To coś nie tak, bo ja też sprawdziłem (na kodzie wp.pl) i działa.
neo1986kk
4.11.2011, 22:39:43
JSON Z wp.pl
"1":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/bxserw2zam2.gif","2":"http:\/\/www.wp.pl\/i\/ivar\/P\/201110\/1319617722.gif","3":"http:\/\/www.wp.pl\/i\/ivar\/P\/201104\/275946.gif","4":"http:\/\/www.wp.pl\/i\/ivar\/T\/201110\/1319545152.gif","5":"http:\/\/www.wp.pl\/i\/ivar\/T\/201110\/1318321159.gif","6":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/dc.gif","7":"http:\/\/www.wp.pl\/i\/ivar\/T\/201106\/293779.gif","8":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/lgns.gif","9":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/lgpkt.gif","10":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/lgns.gif","11":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","12":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","13":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","14":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","15":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","16":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","17":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","18":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","19":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/ladowanie.gif","20":"http:\/\/www.wp.pl\/i\/ivar\/layout\/200812\/wptv_logo.gif","21":"http:\/\/www.wp.pl\/i\/ivar\/T\/201110\/1319198479.gif
ok dziala, zapomnialem w 3 regu zmienić sorry za zamieszanie
Efekt:
Kod
Array
(
[0] => Array
(
[0] => <img src="i/ivar/T/200903/8853.jpg
[1] => <img src="i/ivar/O/200905/38904.jpg
[2] => <img src="i/ivar/O/200905/38962.jpg
[3] => <img src="i/ivar/W/201110/1319536913.jpg
[4] => <img src="i/ivar/T/201109/340092.jpg
[5] => <img id="gloI1" src="i/ivar/F/201111/1320417490.jpg
[6] => <img id="gloI2" src="i/ivar/F/201111/1320408108.jpg
[7] => <img id="gloI3" src="i/ivar/F/201111/1320332706.jpg
[8] => <img id="gloI4" src="i/ivar/G/201111/1320333510.jpg
[9] => <img id="gloI5" src="i/ivar/F/201111/1320314966.jpg
[10] => <img src="i/ivar/F/201111/1320405463.jpg
[11] => <img src="i/ivar/P/201111/1320402594.jpg
[12] => <img src="i/ivar/M/201111/1320331503.jpg
[13] => <img src="i/ivar/M/201110/1318489924.jpg
[14] => <img src="i/ivar/M/201106/290926.jpg
[15] => <img src="i/ivar/T/201111/1320325037.jpg
[16] => <img src="i/ivar/S/201111/1320401046.jpg
[17] => <img src="i/ivar/S/201102/242653.jpg
[18] => <img src="i/ivar/K/201110/1319625226.jpg
[19] => <img src="i/ivar/F/201111/1320423058.jpg
[20] => <img src="i/ivar/F/201110/1318841996.jpg
[21] => <img src="i/ivar/F/201111/1320331208.jpg
[22] => <img src="i/ivar/F/201110/1318417735.jpg
[23] => <img src="i/ivar/C/201110/1319792652.jpg
[24] => <img src="i/ivar/F/201111/1320441839.jpg
[25] => <img src="i/ivar/M/201007/163920.jpg
[26] => <img src="i/ivar/F/201111/1320323011.jpg
[27] => <img src="i/ivar/T/201110/1319020007.jpg
[28] => <img src="i/ivar/T/201110/1319548442.jpg
[29] => <img src="i/ivar/A/201105/283774.jpg
[30] => <img src="i/ivar/A/201105/283768.jpg
[31] => <img src="i/ivar/A/201105/285905.jpg
[32] => <img src="i/ivar/T/201111/1320327142.jpg
[33] => <img src="i/ivar/A/201108/334449.jpg
[34] => <img src="i/ivar/A/201109/339906.jpg
[35] => <img src="i/ivar/A/201109/341234.jpg
[36] => <img src="i/ivar/A/201108/334642.jpg
)
[1] => Array
(
[0] => i/ivar/T/200903/8853.jpg
[1] => i/ivar/O/200905/38904.jpg
[2] => i/ivar/O/200905/38962.jpg
[3] => i/ivar/W/201110/1319536913.jpg
[4] => i/ivar/T/201109/340092.jpg
[5] => i/ivar/F/201111/1320417490.jpg
[6] => i/ivar/F/201111/1320408108.jpg
[7] => i/ivar/F/201111/1320332706.jpg
[8] => i/ivar/G/201111/1320333510.jpg
[9] => i/ivar/F/201111/1320314966.jpg
[10] => i/ivar/F/201111/1320405463.jpg
[11] => i/ivar/P/201111/1320402594.jpg
[12] => i/ivar/M/201111/1320331503.jpg
[13] => i/ivar/M/201110/1318489924.jpg
[14] => i/ivar/M/201106/290926.jpg
[15] => i/ivar/T/201111/1320325037.jpg
[16] => i/ivar/S/201111/1320401046.jpg
[17] => i/ivar/S/201102/242653.jpg
[18] => i/ivar/K/201110/1319625226.jpg
[19] => i/ivar/F/201111/1320423058.jpg
[20] => i/ivar/F/201110/1318841996.jpg
[21] => i/ivar/F/201111/1320331208.jpg
[22] => i/ivar/F/201110/1318417735.jpg
[23] => i/ivar/C/201110/1319792652.jpg
[24] => i/ivar/F/201111/1320441839.jpg
[25] => i/ivar/M/201007/163920.jpg
[26] => i/ivar/F/201111/1320323011.jpg
[27] => i/ivar/T/201110/1319020007.jpg
[28] => i/ivar/T/201110/1319548442.jpg
[29] => i/ivar/A/201105/283774.jpg
[30] => i/ivar/A/201105/283768.jpg
[31] => i/ivar/A/201105/285905.jpg
[32] => i/ivar/T/201111/1320327142.jpg
[33] => i/ivar/A/201108/334449.jpg
[34] => i/ivar/A/201109/339906.jpg
[35] => i/ivar/A/201109/341234.jpg
[36] => i/ivar/A/201108/334642.jpg
)
)
neo1986kk
4.11.2011, 22:41:43
neo1986kk
4.11.2011, 22:48:55
a u mnie się pokazują ikony przerwanych kartek w array
preg_match_all('#<\s*img\s+[^>]*src\s*=\s*["\']?([^"\'>]+\.jpg)#i', file_get_contents('http://www.wiocha.pl/40143,A_pozniej_chwali_sie_kolegom'), $matches);
I prawidłowo. Pokazują się, bo preg_match_all zwraca w pierwszej kolejności pełne dopasowanie wzorców. A mój wzorzec nie domyka całego znacznika, bo po co ma to robić. Nie interesuje nas to co jest po src.
neo1986kk
4.11.2011, 22:53:51
juz wiem dlaczego, bo jak zmieniłem na print(mathes[1]) to pokazalo linki
masz absolutną rację
wNogachSpisz
5.11.2011, 10:08:13
Do takich rzeczy jest PHP:DOM:DomDocument
Nie żadne preg_match()