За последние 24 часа нас посетили 62097 программистов и 1599 роботов. Сейчас ищут 939 программистов ...

На денвере регулярка работает а в бою нет

Тема в разделе "PHP для новичков", создана пользователем Priler, 5 мар 2013.

  1. Priler

    Priler Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    171
    Симпатии:
    0
    Адрес:
    New-York
    Здравствуйте.
    В общем у меня такая задача - найти все dofollow ссылки на странице и все nofollow ссылки.
    Делаю так:
    Код (Text):
    1. while($i<count($a_tags[0])) {
    2.   if(!preg_match('|href="??\'??#(.*)"??\'??|i', $a_tags['0'][$i]) and preg_match($regVURL, $a_tags['0'][$i])) {$in_uls++;}
    3.     else if(!preg_match('|href="??\'??#(.*)"??\'??|i', $a_tags['0'][$i]) and preg_match('|href="??\'??http(.*)"??\'??|i', $a_tags['0'][$i])) {$out_uls++;}
    4.     else if(stripos($a_tags['0'][$i], 'href="#"') or stripos($a_tags['0'][$i], "href='#'")) {} else {$in_uls++;}
    5.     if(preg_match('|href="??\'??#(.*)"??\'??|i', $a_tags['0'][$i])) {$in_uls--;}
    6.    
    7.     if(preg_match('|href="??\'??#(.*)"??\'??|i', $a_tags['0'][$i])==0 and preg_match('|rel="??\'??nofollow"??\'??|iUs', $a_tags['0'][$i]) and preg_match('|href="??\'??http(.*)"??\'??|i', $a_tags['0'][$i])) {$follow_out_urls++;}
    8.     $i++;
    9. }
    Где regVURL это регулярка хоста проверяемого сайта.

    Теперь представим что мы тестим такие ссылки(я их и тестирую):
    Код (Text):
    1. <a href="http://profi-centr.ru/" target="_blank" class="sell_l">��������� ������� ��������� ��������� � �����-����������</a>
    2. <a href="http://netpeak.ua/" target="_blank" class="sell_l">�����������</a>
    3. <a rel=nofollow target=_top href="http://top.mail.ru/jump?from=1200464"><img src="http://d1.c5.b2.a1.top.list.ru/counter?id=1200464;t=210" border=0 height=31 width=88 alt="�������@Mail.ru" /></a>
    4. <a rel=nofollow href="http://www.megastock.ru/" target="_blank"><img src="http://www.megastock.ru/Doc/88x31_accept/blue_rus.gif" alt="www.megastock.ru" border="0"></a>
    5. <a rel=nofollow href="https://passport.webmoney.ru/asp/certview.asp?wmid=237243996100" target="_blank" style="text-decoration:none; border:0px;"><img src="images/blue_rus.gif" alt="����� ��������� �������� ������ WM �������������� 237243996100" border="0"></a>
    Тут всего 4 ссылки, 3 nofollow ссылки и 2 dofollow. Парсю сайт stihi.in.ua (сори за ссылку это не реклама)

    Запускаю свой скрипт на денвере он так и говори - 3 nofollow ссылки и 2 dofollow.

    Теперь запускаю этот же скрипт при парсе странички в инете, и он говорит так - 4 nofollow ссылки и 1 dofollow.
    Парсю страничку откуда взял эти ссылки, то есть тот сайт который я вписал на 5 строк выше(http://www.stihi.in........)

    Помогите решить проблему, даже не подозреваю в чем траблы.

    Заранее спасибо за помощь.
    Жду комментариев.

    Добавлено спустя 7 минут 57 секунд:
    Все тему можно закрывать я сам нашел ответ. Проблема была в том что когда я находил нофоллоу ссылки я не чекал их на предмет присутствия хоста сайта, все исправил все ок всем спасибо!

    Добавлено спустя 58 секунд:
    Все тему можно закрывать я сам нашел ответ. Проблема была в том что когда я находил нофоллоу ссылки я не чекал их на предмет присутствия хоста сайта, все исправил все ок всем спасибо!