За последние 24 часа нас посетили 62954 программиста и 1742 робота. Сейчас ищут 1172 программиста ...

Подстановка в текст

Тема в разделе "Регулярные выражения", создана пользователем Amatory999, 3 фев 2010.

  1. Amatory999

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

    С нами с:
    23 июн 2009
    Сообщения:
    93
    Симпатии:
    0
    Доброго времени суток! Не могу составить регулярное выражение. Есть задача - Функции передается произвольный текст, в котором могут содержаться любые теги. Моя задача в этом тексте после слова "он" вставлять строку(не важно какую). Есть одно ограничение - нельзя вставлять строку если слово "он" находится в теге <a href="тралаля/он">он и она</a>. То-есть не рушить ссылки. Зарание благодарен за Ваши ответы.
     
  2. Amatory999

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

    С нами с:
    23 июн 2009
    Сообщения:
    93
    Симпатии:
    0
    Эту задачу возможно решить с помощью регулярных выражений?
     
  3. Amatory999

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

    С нами с:
    23 июн 2009
    Сообщения:
    93
    Симпатии:
    0
    Ниужели никто не знает?
    Пока что есть вот что:
    $txt = str_replace("он","он".$new,$txt);
    $txt = preg_replace( "#<a href=(.+?)он".$new."(.+?)</a>#is", "<a href=\\1он\\2</a>", $txt );

    Но это несовсем правильно работает ссылки c одним вхождением слова "он" обрабатывает нормально, если в ссылки слов "он" более 1го, то ко второму подставляется моя ссылка и следовательно предидущая ссылка ломается.
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    preg_replace_callback