![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 09:13 |