Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyrażenie regularne do łącz
no-scared
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 24.04.2008

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


Witam ponownie.

Otóż chciałbym zrobić sobie wyrażenie regularne wychwytujące wszystkie łącza (hrefy), ponieważ chce sprawdzac jakie łącza dają użytkownicy w komentarzach na mojej stronie i dodawać je do bazy, robiłem już ileś matchów jednak im bardziej starałem się poprawić, tym bardziej go niszczyłem i już kompletnie zaczął mi się mózg lansować.

$preg = preg_match_all('/<a.*href\s*=(?:\s*|\s*"|\s*\')([^\s>]+)(?:\s*?"|\s*?\'|\s*|\s*>)/i', $text, $url_list, PREG_PATTERN_ORDER);

Proszę o pomoc.

// EDIT

do moderatorow, musiałem usunąć BBCode, ponieważ forum mi docinało regexa

jakieś pomysły?

Ten post edytował no-scared 31.08.2008, 16:06:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
no-scared
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 24.04.2008

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


jeszcze mały problem, bo już chce rozdać plusy, ale żeby do końca (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

regex em1X wyłapuje także takie przypadki:

http://php.sum1.pl/?kat=9&p=7" onFocus=blur(); class=link

nie wiem dokladnie czemu, bo na koncu linka jest cudzyslow a on pobiera dalej.

Próbowałem coś takiego:

'/<a.*?href=(?:\'|"|)(^"\'\s)*?(?:\'|"|)>.*?<\/a>/i'

ale mi wtedy nic nie pobiera...

Ten post edytował no-scared 2.09.2008, 14:36:54
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: 11.10.2025 - 09:13