Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyrażenia regularne operujacy HTMLu
sticker
post
Post #1





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


Od 2 dni siedze nad jednym wyrazeniem regularnym i mam juz troszke tego dość sad.gif Oczywiście zwracam sie z prośbą do osób ktore potrafią wiecej w tej kwestii niż ja
Otóż problem jest następujący: Potrzebuje wyciagnąć z teksu wszystkie hiperlinki zawierające w sobie słowo mailto: (czyli wszystkie odnośniki do maili w takiej postaci)

Załóżmy że mamy tekst testowy winksmiley.jpg
  1. <a href='mailto:support@abc.com'>abc</a> <a href='mailto:support1@abc.com'>abc1</a><br>

Tekst oczywiście nie jest przełamany i jest w jednej linii ale nie wiem czy tu bedzie to widać . Wyrażenie które udało mi sie do tej chwili wymysleć jest bardzo bliskie rozwiązaniu:
Kod
"/<[aA] +[^\/]+mailto:[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})[^>]+>[a-zA-Z0-9]*<\/[aA]>/"

i rzeczywiście działa pod warunkiem że ktoś nie da mi miedzy znacznikami <a.....> (w tym miejscu)</a> jakiegoś tagu htmlowego bytu na przykład <b></b> co dałoby nam przykład taki:
  1. <a href='mailto:support@abc.com'><b>abc</b></a> <a href='mailto:support1@abc.com'>abc1</a><br>


Czytam sobie O'Reillly wyrażenia regularne i nie moge tam znaleźć rozwiązania mimo że ten problem jest zasygnalizowany ..... (Jakas kicha w tej książce) Próbowałem alternacji ale żadna mi nie pasowała

Prosze o pomoc Mysle że to dla was też niezłe wyzwanie i może sie przydać na przyszłość Pozdrawiam i czekam niecierpliwie na odpowiedź smile.gif


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 23:29