Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: количество исходящих ссылок???
 
 автор: webarray   (12.07.2007 в 12:11)   письмо автору
 
 

Приветствую!
Пытаюсь написать функцию которая возвращает все исходящие ссылки с указаного сайта.
вот код:

<?
function get_num_links($url

 @
$text file_get_contents($url); 
 if (!
$text
      return 
"Пусто"
$dom substr($url7); 
preg_match_all("/<a[\s\S]+href=(.*)>/isU"$text$anchors); 

$i=0
  for (
$i$i count($anchors[1]); $i++){
     
$links preg_replace('(\"|\')' ,"",$anchors[1][$i]);
  echo 
$links;
  }

get_link_number($url);
?>

выводит следущее:
http://мой сайт.ru
article.php?mode=remont&list=1 - внутреняя ссылка моего сайт
article.php?mode=tuning&list=2 -//-
racing.php?mode=all -//-
forum/ -//-
nav.php?mode=project -//-
article.php?mode=mer&list=3 -//-
visual.php?mode=show -//-
http://www.сайт не мой.ru/
http://www.сайт не мой2.com

Как мне получить ссылки только эти:
http://www.сайт не мой.ru/
http://www.сайт не мой2.com
а ссылки моего сайта нетрогать....
???
Гуру помогите!

   
 
 автор: kasmanaft   (12.07.2007 в 12:30)   письмо автору
 
   для: webarray   (12.07.2007 в 12:11)
 

Исходящие ссылки =)

Можно вот так попробовать:
"#<a[\s\S]+href=(?!http://мой_сайт)(.*)>#isU"

Стоп.. чуть не так... минутку

Вот так правильнее будет: #<a[\s\S]+href=(?=http://(?!(?:www\.мой_сайт|мой_сайт)))(.*)>#isU

   
 
 автор: webarray   (12.07.2007 в 13:33)   письмо автору
 
   для: kasmanaft   (12.07.2007 в 12:30)
 

Огромное спасибо!

А как исключить домены 3 уровня, например:
shop.site.ru
рег выражение определяет его как исходящая ссылка, но это поддомен моего сайта..

   
 
 автор: kasmanaft   (12.07.2007 в 15:48)   письмо автору
 
   для: webarray   (12.07.2007 в 13:33)
 

Вот так, наверное:
#<a[\s\S]+href=(?=http://(?!(?:[a-z0-9-.]+\.)*mysite\.ru))(.*)>#isU

   
 
 автор: Sith   (13.02.2008 в 20:52)   письмо автору
 
   для: kasmanaft   (12.07.2007 в 15:48)
 

А как выводить наоборот, только ссылки заданного сайта

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования