За последние 24 часа нас посетили 18047 программистов и 1681 робот. Сейчас ищет 1041 программист ...

Замена сылок

Тема в разделе "Регулярные выражения", создана пользователем CyMKuH, 21 мар 2012.

  1. CyMKuH

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

    С нами с:
    1 янв 2012
    Сообщения:
    5
    Симпатии:
    0
    В тексте есть ссылки вида [a href="#"]123[/a] я пытаюсь их заменить на <a href="#">123</a>

    Код (Text):
    1. $text=eregi_replace("(.*)\\[a href=(.*)\\](.*)\\[/a\\](.*)", "\\1<a href=\\2>\\3</a>\\4", $text);
    Проблема в том что заменяется только последнее вхождение... Помогите пожалуйста.
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    eregi_replace является устаревшей ф-ей используй preg_replace

    Попробуй этот код

    Код (Text):
    1. $str = 'dsa dad dadadasd [a href="#"]123[/a] fsdfsd fdfsdf [a href="#"]123[/a]';
    2. $reg = '/(\[a href="#"\]123\[\/a\])/';
    3. $replacement = '<a href="#">123</a>';
    4. $text = preg_replace($reg, $replacement, $str);
    5. echo $text;