Xpoint
   [напомнить пароль]

Замена символов везде, кроме заданного участка в строке

Метки: [без меток]
2010-02-10 16:49:46 [обр] Даниил Иванов(0/63)[досье]

Что-то никак не придумать, как правильно сделать сабж.
Есть, предположим, есть строка вида "Мама<br>мыла<br>раму[noreplace]раз<br>два<br>три[/noreplace]четыре<br>пять";

Нужно заменить <br> на что-нибудь другое(например, перевод строки) то так, чтобы внутри блока
[noreplace]..[/noreplace] эта замена не производилась. То есть на выходе получить
"Мама\nмыла\nраму[noreplace]раз<br>два<br>три[/noreplace]четыре\nпять";

спустя 2 часа 20 минут [обр] Thirteensmay(0/157)[досье]
Добавить перед заменой (потом убрать) в начало исходной строки [/noreplace], а в конец [noreplace], если метки noreplace обязательно должны быть парными то добавлять пустую [noreplace][/noreplace], далее заменять между [/noreplace] и [noreplace].
спустя 1 час 40 минут [обр] Marat Tanalin(0/78)[досье]

Разбить на фрагменты:

  1. Мама<br>мыла<br>раму
  2. [noreplace]раз<br>два<br>три[/noreplace]
  3. четыре<br>пять

Сделать замены внутри 1 и 3, собрать всё обратно в единую строку.

спустя 12 минут [обр] Dennis F. Latypoff aka funky_dennis(0/78)[досье]
как всегда — в алгоритмы, PHP тут ни причем.
спустя 12 часов [обр] Алексей Севрюков(0/1280)[досье]
М Перенесено из форума "Программирование::PHP"
спустя 4 дня [обр] Даниил Иванов(0/63)[досье]
Thirteensmay[досье]
Идея интересная, спасибо.
Powered by POEM™ Engine Copyright © 2002-2005