Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

[Bug] Бага в регулярке разбора ссылок (Александр Михалицын)
Author Message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 12:54 pm (написано за 2 секунды)
   Post subject: [Bug] Бага в регулярке разбора ссылок
Reply with quote

forum.dklab.ru/viewtopic.php?t=35252

Last edited by Александр Михалицын on Mon Jul 12, 2010 10:18 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9989
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 1:58 pm (спустя 1 час 4 минуты; написано за 9 секунд)
   Post subject:
Reply with quote

И?
В чём бага-то?
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 1:59 pm (спустя 1 минуту 11 секунд; написано за 30 секунд)
   Post subject:
Reply with quote

https://developer.mozilla.org/en/Web_Development
не распознается ссылка автоматом.

А вот так, распознается:
developer.mozilla.org/en/Web_Development
Back to top
View user's profile Send private message Send e-mail
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Fri Sep 18, 2009 2:07 pm (спустя 8 минут; написано за 1 минуту 14 секунд)
   Post subject:
Reply with quote

Самое интересное, что в модуле быстрой подгрузки топика (который появляется по наведению мышки на [?]) парсер обрабатывает эту ссылку (-;
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 2:09 pm (спустя 1 минуту 14 секунд; написано за 36 секунд)
   Post subject:
Reply with quote

Владимир Хоменко,
дело в дом, что Дмитрий переписывал механизм распознавания ссылок, видимо в одном месте используется его механизм, а в другом стандартный...
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9989
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 5:43 pm (спустя 3 часа 34 минуты; написано за 2 минуты 53 секунды)
   Post subject:
Reply with quote

Ну, значит, это и не баг.

Есть подозрения, что https-ресурсы изначально из парсера выкинули из соображений безопасности.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 200
   поощрить/наказать

Location: 007 495

PostPosted: Fri Sep 18, 2009 10:23 pm (спустя 4 часа 40 минут; написано за 30 секунд)
   Post subject:
Reply with quote

Да нет, в регулярке есть упоминание протокола https. Очень странно, что это не срабатывает.
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9989
   поощрить/наказать


PostPosted: Sat Sep 19, 2009 4:07 am (спустя 5 часов 43 минуты; написано за 16 секунд)
   Post subject:
Reply with quote

Код в студию
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Sat Sep 19, 2009 5:17 am (спустя 1 час 10 минут; написано за 25 секунд)
   Post subject:
Reply with quote

Юр, какой там парсер используется, Димин или стандартный?
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 200
   поощрить/наказать

Location: 007 495

PostPosted: Sat Sep 19, 2009 3:21 pm (спустя 10 часов 3 минуты; написано за 45 секунд)
   Post subject:
Reply with quote

Дима этот код уже выкладывал, так что я не открою тайны:
Code (php): скопировать код в буфер обмена
// Version 1.02.
//
//
function hrefActivate($text) {
        $text = preg_replace_callback (www.php.net/preg_replace_callback)(
                '{
                        (?:
                                # : \w+  (?:http|ftp)  !!!
                                ((?:http|ftp)://)   #   
                                | (?<!.)www\.       #     www
                        )
                        (?> [a-z0-9_-]+ (?>\.[a-z0-9_-]+)* )   # 
                        (?: : \d+)?                            #
                        (?:                                    # URI (  )
                                        &amp;                       #
                                | & (?![a-z]+;) (?!\#\d+;)    #    URI
                                | [^[\]&\s\x00"<>]          # 
                        )*
                        (?:                                    #    ...
                                        (?<! [[:punct:]] )          # 
                                | (?<= &amp; | [-/&+*]     )  #     -/&+*
                        )
                        (?= [^<>]* (?! </a) (?: < | $))        #   
                }six'
,
                "hrefCallback",
                $text
        );
        return $text;
}   

//
function hrefCallback($p) {
        $name = $p[0];
        //
        //
        //
        //
        $href = !empty (www.php.net/empty)($p[1])? $name : "http://$name";
        //
        //
        $realUri = null;
        if (function_exists (www.php.net/function_exists)($getter='getPageTitleByUri')) $name = $getter($href, $realUri);
        $href = str_replace (www.php.net/str_replace)('"', '&amp;', $href); //
        if ($name === null) $name = $href;
        $html =
                "<a href=\"$href\" " .
                ($realUri && $realUri != $href? "name=\"$realUri\" " : "") .
                "target=\"_blank\">$name</a>";
        return $html;
}
Вероятно, эта функция не всегда применяется...

P.S. Упс, только что заметил, что https-то там и нет...
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 200
   поощрить/наказать

Location: 007 495

PostPosted: Sat Sep 19, 2009 3:23 pm (спустя 2 минуты; написано за 15 секунд)
   Post subject:
Reply with quote

Давайте теперь попробуем:

https://forum.dklab.ru/
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 200
   поощрить/наказать

Location: 007 495

PostPosted: Sat Sep 19, 2009 3:23 pm (спустя 6 секунд; написано за 6 секунд)
   Post subject:
Reply with quote

Отлично.
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Mon Jul 12, 2010 10:17 am (спустя 9 месяцев 22 дня 18 часов 53 минуты)
   Post subject:
Reply with quote


М

Тема закрыта.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies. All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML