Ситуация такая: Есть текст с bb-кодом, который я тяну из textarea и обрабатываю. После всех обработок выполняю функцию nl2br(). Все замечательно кроме обработки некоторых тегов типа списков, блоков и таблиц. Символ перевода строки остается и потом превращается в <br /> после каждой строки Есть задача конструкцию Код (Text): [tag] текст [/tag]перенос строки продолжение превратить в Код (Text): <tag>текст</tag>продолжение то есть убрать все переносы строки сразу после открывающего, переносы строки непосредственно перед закрывающим тегом и один комплект переноса строки сразу после закрывающего тега. Такая штука почему-то не работает Код (Text): $message = preg_replace("#\[tag\][\r\n]*([\S])[\r\n]*\[\/tag\][\r\n]#isU", '<tag>\\1</tag>', $message); Помогите написать регулярку[/code]
PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'); $m='[tag] текст [/tag] продолжение'; //<tag>текст</tag>продолжение $poisk='/(\n)/si'; $zamena=''; $new=preg_replace($poisk,$zamena,$m); $new2=str_ireplace('[/tag]','</tag>',$new); $new3=str_ireplace('[tag]','<tag>',$new2); echo $new3; ?>