Сообщение от trikadin
|
Gozar, вы об этом и говорили, наверное... Но я повторюсь. Можно делать так, как тут. То есть в цикле убираем самые вложенные (путём замены их на нормальные теги) и цикл гоняем до тех пор, пока можем найти хоть один непреобразованный bb-код.
|
От цикла я давно отказался, рекурсия рулет/
торт.
Я делаю именно так как писал выше. Без всяких new RegExp.
Сначала выбираем из текста максимум, как бы горку, а потом горку просматриваем от самого вложенного(минимального).
Этого должно быть достаточно чтобы не сканить весь текст и не было багов какой-нибудь вложенности, скорость ещё не тестировал, но пока всё нормально и реги мне понятны. Нет никаких end и if, только последовательность, сначала максимум всего, затем уже минимум конкретных тегов рекурсией.