За последние 24 часа нас посетили 76709 программистов и 1668 роботов. Сейчас ищут 919 программистов ...

Помогите с регуляркой

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

  1. kiwwwi

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

    С нами с:
    4 сен 2010
    Сообщения:
    66
    Симпатии:
    0
    Добрый день!
    Нужна помощь с регулярными выражениями:
    есть строка вида:
    Код (Text):
    1.  
    2. Текст
    3. [Изображение: 1777_big.jpg]
    4. Текст
    Нужно заменить эту строку на
    Код (Text):
    1.  
    2. Текст
    3. <a href="/download_img.php?file=images/1777_big.jpg"><img width="50px" height="50px" src="/files/images/1777_50.jpg"></a>
    4. Текст
    Как это правильно сделать, с учетом того, что "1777_big.jpg" будет постоянно меняться?
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Код (PHP):
    1. $str = 'Текст
    2. [Изображение: 1777_big.jpg]
    3. Текст';
    4.  
    5. $pattern = "/\[Изображение: (.*)\]/";
    6. $replacement = '<a href="/download_img.php?file=images/$1">
    7.                 <img width="50px" height="50px" src="/files/images/$1">
    8.                 </a>';
    9. echo preg_replace($pattern,$replacement,$str);
     
  3. kiwwwi

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

    С нами с:
    4 сен 2010
    Сообщения:
    66
    Симпатии:
    0
    спасибо, работает. Только возникла проблема со множественным значением:
    Код (Text):
    1.  
    2. [Изображение: 1783_big.jpg]
    3. [Изображение: 1784_big.jpg]
    4. [Изображение: 1785_big.jpg]
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    В чем именно проблема? Вроде бы, как всё работает нормально. Или есть какие-то нюансы, которые вы не указали?
     
  5. kiwwwi

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

    С нами с:
    4 сен 2010
    Сообщения:
    66
    Симпатии:
    0
    Разобрался, виной была функция mysql_real_escape_string, спасибо за помощь