За последние 24 часа нас посетили 15046 программистов и 1767 роботов. Сейчас ищут 1453 программиста ...

Обрамление текстовых сcылок тегом <a>

Тема в разделе "Регулярные выражения", создана пользователем lex-romanow, 24 апр 2016.

  1. lex-romanow

    lex-romanow Активный пользователь

    С нами с:
    24 сен 2014
    Сообщения:
    50
    Симпатии:
    1
    Написал регулярку, которая ищет и обрамляет текстовые ссылки тегом <a>, но регулярка захватывает рядом стоящие точки, запятые, это при случае если рядом с текстовой ссылкой идут эти символы. Фтп ссылок не будет, поэтому я не учел в регулярке. Мой пример можно посмотреть здесь - http://rubular.com/r/P04ZNa9Td6. Прошу помочь мне исправить этот момент. Благодарю!
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    забей. Не надо пытаться точки отсеять, они могут быть частью ссылки.
     
  3. lex-romanow

    lex-romanow Активный пользователь

    С нами с:
    24 сен 2014
    Сообщения:
    50
    Симпатии:
    1
    а можно пример? что-то не видел текстовой ссылки с точками, запятыми на конце

    исправил регулярку на такую:
    PHP:
    1. (((?:ht|f)tps?\:\/\/|www\.)\S+\w\/?)
    был такой вариант также:
    PHP:
    1. (((?:ht|f)tps?\:\/\/|www\.)\S+[\w\/])
    Результат одинаков, а какой лучше, не пойму.

    Как видно из регулярки я добавил еще и ФТП, пусть все же будет. Но после добавления пришлось добавить ?: перед ht, помогло избавится от лишнего элемента в массиве (подсмотрел где-то на форуме). Правильно сделал? Нигде не нашел объяснения этому "хаку".