Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciągnięcie tekstu z tagów html wyrażeniem regularnym
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Pobieram curlem stronę wyszukiwań Google skąd chcę pobrać listę stron. Następnie usuwam znaki końca wiersza żeby wyrażenia regularne nie miały z tym problemu. Dostaje więc jedno liniowy kod z którego muszę wyciągnąć adres strony. Tak na szybko wyrażenie regularne które mam to:
  1. /<cite>([^<]+)<\/cite><span class=\"flc\"> \- <a href=\"([^\"]+)\">Kopia<\/a> \- <a href=\"([^\"]+)\">Podobne<\/a><\/span><\/div><\/div><\/li>/i

Jak widać nie jest trudne i wszystko byłoby ok ale pomiędzy <cite> a </cite> gdzie jest adres czasem Google pogrubia strony jeśli w adresie jest wyszukiwane słowo. Wiec jak szukamy np: samochody, dostajemy:
  1. <cite>www.<b>samochody</b>-dostawcze.pl/</cite>

Dla takiego warunku to wyrażenie regularne nie działa i nie wiem jak to ominąć ;/

Dałem
  1. strip_tags($data, '<cite><span><a><div><li>');
i usunęło wszystkie tagi ;/ utknąłem ...

Danie
  1. <cite>.*?</cite>
też nie daje efektów ;/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Kod
<cite>.*?</cite>


No wiesz, takie wyrażenie ci zadziała, znajdzie dane o które ci chodzi, ale nie użyłeś nawiasów, do przechwycenia tych dopasowanych danych. Kłaniają się podstawy wyrażeń niestety (IMG:style_emoticons/default/wink.gif)

A tobie polecam zamiast wyrażeniami się bawić, polecam pobawić się DOM, a jak znasz jquery, to dobre również dla ciebie będzie phpQuery, którego nawet ostatnio użyłem, bo ktoś poprosił o pomoc, żeby wyniki z filestube.com wyciągnąć wyniki.
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: 16.10.2025 - 08:40