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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подскажите регулярки для парсинга

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: нужно найти относительные и абсолютные ссылки со страницы
NOBEL
Отправлено: 08 Апреля, 2009 - 20:37:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


Помог: 0 раз(а)




Подскажите пожалуйста, кому не сложно.
Нужны две регулярки:
для нахождения на странице относительных и другая для абсолютных ссылок.
У меня пока не получается составить что - либо уверенно работающее.


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
Stierus Супермодератор
Отправлено: 09 Апреля, 2009 - 09:01:21
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




пишите, что получилось составить, в чем проблема возникла и тд - будем смотреть
 
My status
 Top
Champion Супермодератор
Отправлено: 09 Апреля, 2009 - 10:52:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




'/(\/?[a-zA-Z_.-]+)+/' - примерно такая штука для относительных
'/(\/?[^<>\"' ]+)+/' - или такая
для абсолютных - то же, но с http:// в начале:
'/(http\:\/\/[^<>\'" ]+)+/'
 
 Top
Stierus Супермодератор
Отправлено: 09 Апреля, 2009 - 11:14:48
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




чемп, ну пусть сам подумает хоть немного
 
My status
 Top
Champion Супермодератор
Отправлено: 09 Апреля, 2009 - 11:40:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Stierus, ок, пусть)
 
 Top
NOBEL
Отправлено: 09 Апреля, 2009 - 16:58:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


Помог: 0 раз(а)




#href\s*=\s*\"((?:http:\/\/|www\.)(?:[A-Za-z0-9\-\.]+)\.(?:com|ru|info|org|ua))?([A-Za-z0-9\-\_\/\~\%\.]+(?:\.html|\.htm|\/))\"#
Как то так пока. возможно нвгромодил кучу.


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
chaynyk
Отправлено: 09 Апреля, 2009 - 17:44:01
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




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.  ?>

(Отредактировано автором: 09 Апреля, 2009 - 18:11:32)



-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
franky
Отправлено: 15 Апреля, 2009 - 01:58:51
Post Id



Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2009  
Откуда: Донецк,Украина


Помог: 0 раз(а)

[+]


NOBEL пишет:
Подскажите пожалуйста, кому не сложно.
Нужны две регулярки:
для нахождения на странице относительных и другая для абсолютных ссылок.
У меня пока не получается составить что - либо уверенно работающее.

А как составить так чтоб на любую найденую ссылку на странице производилась переадресация?
 
 Top
chaynyk
Отправлено: 14 Мая, 2009 - 18:56:16
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




franky пишет:
NOBEL пишет:
Подскажите пожалуйста, кому не сложно.
Нужны две регулярки:
для нахождения на странице относительных и другая для абсолютных ссылок.
У меня пока не получается составить что - либо уверенно работающее.

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


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


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB