Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PCRE - wyłapanie treści ze strony
nilo
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.07.2007

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


Cześć,

Od kilku godzin walczę z wyrażeniami regularnymi i niestety nie mogę sobie poradzić. Muszę z innej strony (za zgodą twórcy) wyłuskać kilka danych (w tym przypadku zdjęć z opisami), kod wygląda (po skróceniu) mniej więcej tak:

  1. <div class="photo"><a href="java script:show('Opis','images/foto1.jpg',100,200)" title="Opis"><img src="images/foto1_m.jpg" /></a>
  2. <p class="description">opis zdjecia</p></div>
  3.  
  4. <div class="photo"><a href="java script:show('Opis2 (ciekawy)','images/foto2.jpg',110,240)" title="Opis 2"><img src="images/foto2_m.jpg" /></a>
  5. <p class="description">opis zdjecia 2</p></div>


Liczba takich sekcji <div> jest zmienna, są one oddzielone dodatkowo kodem html, a całość znajduje się oczywiście między <body> a </body>.

Przyznam szczerze, że mam problemy nawet z wyborem funkcji, której użyć. Próbowałem preg_match_all, preg_replace oraz preg_split, ale bez efektu. Samo wyrażenie regularne robię w sposób podobny do tego:

  1. <?php
  2. $pattern='/<div class="photo"><a href="java script:show('.{1,20}','(.*)',d+,d+)" title=".{1,30}"><img src="(.{0,30})" /></a>.{1,50}<p class="description">(.{1,30)</p></div>/s';
  3. ?>


Próbuję to wstawiać do preg_match_all, ale nic sensownego mi nie wychodzi, mimo wielu naprawdę prób zmiany.

Mogę liczyć na pomoc?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nilo
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.07.2007

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


Cytat(hidee @ 20.07.2007, 07:42:49 ) *
Rozwiązanie może zawierać drobne błędy widoczne na etapie parsowania/kompilacji - nie testowałem go z powodu braku czasu i motywacji (z uwagi, że nawet linka na tym nie zarabiam), ale powinno działać.


Dzięki wielkie za kod i pomoc, zaraz zabieram się do analizy przeróbki.

Cytat(orglee @ 20.07.2007, 23:44:48 ) *
A co chcesz wyciągnąć z tego kodu określ to precyzyjniej.


Adres pliku .jpg (w sumie obojętnie którego, różnią się jedynie literką "m") oraz opis zdjęcia.



== Dopisane ==

Dzięki wszystkim za pomoc, udało mi się uzyskać pożądany efekt. Kluczem do sukcesu okazała się użycie tego [^"jakis znak"] - można z tym łatwo i szybko wyciągnąć potrzebne treści.

Ten post edytował nilo 21.07.2007, 10:58:26
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 - 02:17