![]() |
![]() ![]() |
![]() |
![]()
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ść
![]() 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 ![]() 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: 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ź ![]() -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wyświetla: Kod Array ( [0] => Array ( [0] => href="mailto:support@abc.com">abc</a> [1] => href='mailto:support1@abc.com'>abc1</a> ) [1] => Array ( [0] => " [1] => ' ) [2] => Array ( [0] => support@abc.com [1] => support1@abc.com ) [3] => Array ( [0] => abc [1] => abc1 ) ) Więc chyba wsio gra. Jakby co http://bedkowski.pl/php_regex/ -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:32 |