За последние 24 часа нас посетил 17001 программист и 1692 робота. Сейчас ищут 977 программистов ...

Помогите пожалуйста новичку с регулярками....!

Тема в разделе "PHP для новичков", создана пользователем tavr, 17 авг 2012.

  1. tavr

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

    С нами с:
    17 авг 2012
    Сообщения:
    4
    Симпатии:
    0
    Уважаемые гуру! Не пинайте миня сильно,мне всего 8 лет и я недавно стал осваивать php.Благодаря вашему форуму много чего понял,но не регился,а только читал. А вот сейчас не нашел ответа и поэтому решил спросить у вас. Столкнулся с такой задачей.
    есть форма
    Код (Text):
    1. <input type='text' name='link' >
    по каторой пользователь вводит ссылку и она заносится в базу.
    Я сделал так:
    Код (Text):
    1. $link = $_POST['link'];
    2. $link= preg_replace("#(https?|ftp)://\S+[^\s.,> )\];'\"!?]#",'<a target="_blank" href="\\0">\\0</a>',$link);
    ,т.е. все нормально работает. В введенном тексте ищется ссылка и она преобразуется в кликабельную.
    А мне нужно сделать так, если пользователь в форме введет например так:
    Код (Text):
    1. http://yandex.ru отличный сайт и тра-ля-ля
    ,то чтоб в базу сохранялась ТОЛЬКО ссылка
    Код (Text):
    1. http://yandex.ru
    , а вот этот текст "отличный сайт и тра-ля-ля" не добавлялся.
    Думаю,что смысл вы поняли.Спасибо вам заранее и очень жду!
     
  2. tavr

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

    С нами с:
    17 авг 2012
    Сообщения:
    4
    Симпатии:
    0
    никто не поможет,стесняюсь спросить?((((
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    надо было тебе разместить тему в разделе по регуляркам. я сам вечно спрашиваю у других, ибо регулярки не моя сильная сторона прямо скажем =)
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    эта регулярка не работает. Ну а в целом как-то так
    Код (Text):
    1. preg_replace('#.*(выражение).*#', '$1', $link);
     
  5. Gulfstream

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

    С нами с:
    3 сен 2011
    Сообщения:
    12
    Симпатии:
    0
    Адрес:
    Одесса
    Что-то вроде этого
    Код (PHP):
    1. $link = preg_replace("#.*((https?|ftp)://\S+).*#",'[url="$1"]$1[/url]',$link);