![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
już sobie jakoś poradziłem, chodziło mi o to żeby był src i alt, ale ma wyciągać tylko jpg, więc trzeba było przerobić to moje wyrażenie
Zrobiłem coś takiego
ale problem polega na tym ze pobiera tylko te obrazki które zawierają atrybut alt a innych nie więc poprawiłem na coś takiego - dodałem znaczniki []
i teraz nie pobiera mi alt do $matches Wiecie może jak to można ruszyć? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
no prawie dobrze, ale wróciliśmy do tego co wymyśliłem wcześniej
poprostu on nie pobiera teraz obrazków w których nie ma atrybutu alt="" a trzeba stworzyć coś takiego że jeśli obrazek ma alt to go pobiera a jeśli nie to pobiera samo src tak jak by całe wyrażenie alt\s*=\s*["\']?(.*)["\'] mogło wystąpić lub nie czyli na pewno nie może być na końcu "+" bo oznacza on jeden lub więcej, a musi być 1 lub 0 czyli bardziej odpowiedni był by tu "?", zaraz sprawdzę jak to zadziała no niestety z ? też nie działa nie wiem jak załatwić sprawę z tym wyrażeniem całym że może być 1 lub 0 i myślę że tu tkwi cały problem Ten post edytował neo1986kk 18.05.2012, 22:50:50 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
poprostu on nie pobiera teraz obrazków w których nie ma atrybutu alt="" No racja, pisałeś o tym ale jak zacząłem kombinować to o tym zapomniałem (IMG:style_emoticons/default/smile.gif) Niezła łamigłówka, też będę kombinował. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Możesz spróbować:
Jeśli znacznik zostanie zapisany poprawnie z atrybutem alt="..." lub od razu za alt jest >, to będzie ok Ale to wyrażenie nie jest dobre dla np.
Oczywiście będzie źle, jeśli kolejność atrybutów będzie inna lub między src i alt coś się pojawi oprócz białych znaków |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 349 Pomógł: 72 Dołączył: 22.01.2008 Skąd: Wadowice/Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Zamiast bawić się w wyrażenia regularne, polecam zainteresować się czymś takim jak:
http://sourceforge.net/projects/simplehtmldom/ Dużo bardziej Ci ułatwi pracę, a w razie zmiany kolejności atrybutów nie będziesz musiał się bawić w zmianę wyrażenia regularnego. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
@k_@_m_i_l Jasne że parser HTMLa będzie najodpowiedniejszy. Chociaż w tym konkretnym przypadku zwykła funkcyjka PHP byłaby prostszym i szybszym rozwiązaniem. Też chciałem zapytać neo1986kk czy inne rozwiązanie wchodzi w grę. Dla mnie ten temat to bardziej fajna łamigłówka niż problem (IMG:style_emoticons/default/smile.gif)
Możesz spróbować:
Jeśli znacznik zostanie zapisany poprawnie z atrybutem alt="..." lub od razu za alt jest >, to będzie ok To jest już chyba prawie OK. Bez alta pozostałe zmienne są NULL. Ale z altem jest mały problem bo drugie dopasowanie to alt="jakiś alt" a jest i trzecie: jakiś alt. Mały finetuning i będzie OK (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 15:19 |