Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подскажите регулярки для парсинга
Форумы портала PHP.SU » PHP » Регулярные выражения » Подскажите регулярки для парсинга

Страниц (1): [1]
 

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\:\/\/[^<>\'" ]+)+/'
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:
скопировать код в буфер обмена
  1. <?PHP
  2. // $body  - строка из которой нужно выдирнуть ссылки
  3. // $link[relative] относительные ссылки
  4. // $link[absolute] абсолютные ссылки
  5. preg_match_all('#<\s*?(a)(.|\n)*?(href)=(\'|\")(.|\n)*?<\/(a)>#i', $body, $links);
  6. for ($i=0; $i<count($links[0]); $i++){
  7. if(!preg_match('/<\s*?(a)(.|\n)*?(href)=(\'|\")(http)/i', $links[0][$i])) {$link[relative][]=$links[0][$i];}else{$link[absolute][]=$links[0][$i];}
  8. }
  9.  ?>
8. franky - 15 Апреля, 2009 - 01:58:51 - перейти к сообщению
NOBEL пишет:
Подскажите пожалуйста, кому не сложно.
Нужны две регулярки:
для нахождения на странице относительных и другая для абсолютных ссылок.
У меня пока не получается составить что - либо уверенно работающее.

А как составить так чтоб на любую найденую ссылку на странице производилась переадресация?
9. chaynyk - 14 Мая, 2009 - 18:56:16 - перейти к сообщению
franky пишет:
NOBEL пишет:
Подскажите пожалуйста, кому не сложно.
Нужны две регулярки:
для нахождения на странице относительных и другая для абсолютных ссылок.
У меня пока не получается составить что - либо уверенно работающее.

А как составить так чтоб на любую найденую ссылку на странице производилась переадресация?


Воспользуйся регулировкой preg_replace_callback() используя специально созданную функцию для замены.

 

Powered by ExBB FM 1.0 RC1