ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

внешние ссылки
  #1  
Старый 15.06.2010, 18:28
Serg0007
Новичок
Регистрация: 13.03.2009
Сообщений: 15
С нами: 9033277

Репутация: 1
По умолчанию внешние ссылки

Поделитесь кто-нибудь функцией которая смотрит количество внешних ссылок на странице. Чтобы отслеживало ссылки с nofollow и noindex. Наверняка есть уже готовое решение

Последний раз редактировалось Serg0007; 15.06.2010 в 18:32..
 
Ответить с цитированием

  #2  
Старый 16.06.2010, 00:58
Solker
Участник форума
Регистрация: 04.05.2006
Сообщений: 161
С нами: 10537558

Репутация: 158
По умолчанию

http://metrika.yandex.ru/
 
Ответить с цитированием

  #3  
Старый 16.06.2010, 13:15
Serg0007
Новичок
Регистрация: 13.03.2009
Сообщений: 15
С нами: 9033277

Репутация: 1
По умолчанию

и чем это мне поможет?
 
Ответить с цитированием

  #4  
Старый 17.06.2010, 16:49
Serg0007
Новичок
Регистрация: 13.03.2009
Сообщений: 15
С нами: 9033277

Репутация: 1
По умолчанию

PHP код:
function check_outlinks($page)
{
    
$content_page = file_get_contents($page) or die ("<font color=red>Îøèáêà çàïðîñà ñòðàíèöû!</font>");
    
$content_page = preg_replace("!<NOINDEX>!i", "<noindex>", $content_page);
    
$content_page = preg_replace("!</NOINDEX>!i", "</noindex>", $content_page);

    if (
preg_match_all("!<noindex>!Ui", $content_page, $noindex_count))
    {
        
preg_match_all("!</noindex>!Ui", $content_page, $noindexe_count);
        
$full_count = count($noindex_count[0]) + count($noindexe_count[0]) + 1;
        
//if (!is_float($full_count/2)) echo "<font color=red>Ñóùåñòâóþò îäèíî÷íûå òýãè <noindex>, âîçìîæíà íåêîððåêòíàÿ ðàáîòà!</font><br><br>";

        
$noindex = 0;
        
$n_out = 0;
        for (
$i=0; $i<$full_count; $i++)
        {
            
$pozition_begin = strpos($content_page, "<noindex>");
            
$pozition_end = strpos($content_page, "</noindex>");
            if (
$pozition_end == true && $pozition_begin == true && $pozition_begin < $pozition_end) 
            {
                
$content_parts[] = array(substr($content_page, 0, $pozition_begin), $noindex);
                
$noindex = 1;
                
$pozition_default = $pozition_begin+9;
                
$content_page = substr($content_page, $pozition_default);
                
$n_out++;
            }
            elseif ((
$pozition_end == true && $pozition_begin == true && $pozition_end < $pozition_begin) || ($pozition_end == true && $pozition_begin == false))
            {
                
$content_parts[] = array(substr($content_page, 0, $pozition_end), $noindex);
                if (--
$n_out == 0) $noindex = 0;
                
$pozition_default = $pozition_end+10;
                
$content_page = substr($content_page, $pozition_default);
            }
            elseif (
$pozition_end == false && $pozition_begin == false)
            {
                
$content_parts[] = array($content_page, $noindex);
            }
        }
    }
    else
        
$content_parts[] = array($content_page);

    
$url_real_edit = preg_replace("!http://|https://|www\.!Ui", "", $page);
    if (
strpos($url_real_edit, "/") == true) $url_real_edit = substr($url_real_edit, 0, strpos($url_real_edit, "/"));

    for (
$i=0; $i<count($content_parts); $i++)
    {
        
preg_match_all("!<a[^>]+href\s*=\s*[\"']?([^\"']+)[\"']?[^>]*>(.+?)</a>!i", $content_parts[$i][0], $links);
        for (
$r=0; $r<count($links[0]); $r++)
        {
            if (
preg_match("!^(?:http://|https://)(?:www\.|)(.*)$!i", $links[1][$r], $url_parts))
            {
                if (
preg_match('!^' . $url_real_edit . '!i', $url_parts[1])) continue;
                
// Îïðåäåëåÿåì ññûëêó è àíêîð
                
$link = trim($url_parts[0]);
                
$ankor = $links[2][$r];

                
// Åñëè êàðòèíêà
                
if (preg_match ("!<img[^>]+src=[\"']?([^\"']+)[\"']?[^>]*>!i", $links[2][$r], $image_parts))
                    
$ankor = $image_parts[1];
                
                
// Äîáàâëÿåì ññûëêó â îñíîâíîé ìàññèâ èñõîäÿùèõ ññûëîê
                
$result['out'][] = Array($link, $ankor);

                
// Äîáàâëÿåì ññûëêó â ìàññèâ nofollow
                
if (preg_match("![\"'\s=]nofollow[\"'\s>]!Ui", $links[0][$r]))
                    
$result['nofollow'][] = Array($link, $ankor);
                
                
// Äîáàâëÿåì ññûëêó â ìàññèâ noindex
                
if ($content_parts[$i][1] == 1)
                    
$result['noindex'][] = Array($link, $ankor);
            }
        }
    }
    return 
$result;
}

if (
$_POST['submit'] && $_POST['url_path'] != "")
    
print_r (check_outlinks($_POST['url_path'])); 
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внешние ссылки в HTML страницах miqo Болталка 5 24.10.2009 22:47
Перевод описания плагинов w3af Kuzya Статьи 4 07.06.2009 09:13



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.