Подскажите пожалуйста, кому не сложно.
Нужны две регулярки:
для нахождения на странице относительных и другая для абсолютных ссылок.
У меня пока не получается составить что - либо уверенно работающее.
1. NOBEL - 08 Апреля, 2009 - 20:37:27 - перейти к сообщению
2. Stierus - 09 Апреля, 2009 - 09:01:21 - перейти к сообщению
пишите, что получилось составить, в чем проблема возникла и тд - будем смотреть
3. Champion - 09 Апреля, 2009 - 10:52:58 - перейти к сообщению
'/(\/?[a-zA-Z_.-]+)+/' - примерно такая штука для относительных
'/(\/?[^<>\"' ]+)+/' - или такая
для абсолютных - то же, но с http:// в начале:
'/(http\:\/\/[^<>\'" ]+)+/'
'/(\/?[^<>\"' ]+)+/' - или такая
для абсолютных - то же, но с http:// в начале:
'/(http\:\/\/[^<>\'" ]+)+/'
4. Stierus - 09 Апреля, 2009 - 11:14:48 - перейти к сообщению
чемп, ну пусть сам подумает хоть немного
5. Champion - 09 Апреля, 2009 - 11:40:54 - перейти к сообщению
Stierus, ок, пусть)
6. NOBEL - 09 Апреля, 2009 - 16:58:13 - перейти к сообщению
#href\s*=\s*\"((?:http:\/\/|www\.)(?:[A-Za-z0-9\-\.]+)\.(?:com|ru|info|org|ua))?([A-Za-z0-9\-\_\/\~\%\.]+(?:\.html|\.htm|\/))\"#
Как то так пока. возможно нвгромодил кучу.
Как то так пока. возможно нвгромодил кучу.
7. chaynyk - 09 Апреля, 2009 - 17:44:01 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- // $body - строка из которой нужно выдирнуть ссылки
- // $link[relative] относительные ссылки
- // $link[absolute] абсолютные ссылки
- for ($i=0; $i<count($links[0]); $i++){
- if(!preg_match('/<\s*?(a)(.|\n)*?(href)=(\'|\")(http)/i', $links[0][$i])) {$link[relative][]=$links[0][$i];}else{$link[absolute][]=$links[0][$i];}
- }
- ?>