Нужна помощь в регулярном выражении для preg_replace У меня задача делаю создание html таблиц через BB коды BB код выглядит вот так Код (Text): [TABLE] [TR] [TH] Введите текст... [TH] Введите текст... [TH] Введите текст... [TH] Введите текст... [TH] Введите текст... [/TR] [TR] [TD] Введите текст... [TD] Введите текст... [TD] Введите текст... [TD] Введите текст... [TD] Введите текст... [/TR] [/TABLE] Для такого кода делаю парсер php массив Код (Text): $in = array( '/\[TD\]\s?(.*?)\n/ms', '/\[TH\]\s?(.*?)\n/ms', '/\[TR\]\s?(.*?)\n/ms', '/\[\/TR\]\s?(.*?)\n/ms', '/\[TABLE\](.*?)\[\/TABLE\]/ms' ); Преобразуем вот так массив Код (Text): $out = array( '<td>\1</td>', '<th>\1</th>', '<tr>\\1', '</tr>', '<table><tbody>\1</tbody></table>' ); В результате обрабатывается так Код (Text): $text = preg_replace($in, $out, $text); В результаете обработки получается, что перед таблицей идут несколько строк с переносами Код (Text): <br></br> <br></br> <br></br> <br></br> <br></br> <table></table> Таблица работает все нгормально а вот как избавиться от переносов никак не осилю. Может кто сталкивался с подобным. Вродебы понятно объяснил надеюсь? Javscript для создания бб кода Код (Text): placeholder:"Введите текст...", replaceWith:function(h) { var cols = prompt("Количество столбцов?"), rows = prompt("Количество строк?"), html = "[TABLE]\n"; if (h.altKey) { for (var c = 0; c < cols; c++) { html += "! [![TH"+(c+1)+" text:]!]\n"; } } for (var r = 0; r < rows; r++) { html+= "[TR]\n"; for (var c = 0; c < cols; c++) { html += "[TD] "+(h.placeholder||"")+"[/TD]\n"; } html+= "[/TR]\n"; } html += "[/TABLE]\n"; return html; } Формирует структуру то нормально но вот не убирает все переносы \n
спокойно! не всё всем так очевидно как тебе. а главное, никому кроме тебя не хочется напрягаться. вместо того чтобы убирать мусор, надо постараться не сорить — золотое правило. разберись откуда берутся эти твои br.
Беруться то понятно в java скрипте при формировании, но как их убрать регуляркой. После закрытого тега к примеру <tr> остается символ переноса \n и он отображается вверху таблицы после обработки <br></br> Но если перенос в java не ставить тогда вилезет куча не понятно что куда писать все будет слитно и не понятно.
Тогда ломает все переносы на странице Необходимо именно после закрытого тега убрать перенос Уже 2 дня играюсь и ничего не получилось, перепробовал все что мог