RizVN Login



Онлайн конвертер HTML в BBCode и обратно

Онлайн конвертер HTML в BBCode и обратноВам когда-нибудь приходилось выкладывать свои статьи на форумы и любые другие ресурсы, поддерживающие BBCode? Или может вы пытались перенести, написанный вами материал, в любой Html редактор? Если да, то вам, наверное, знакомо то ощущение, которое возникает в преддверии перелопачивания всего текста. И это не самое приятное занятие.

 

Онлайн конвертер HTML <> ВВCode

< b >
< i >
< u >
< a | url >
< @ >
< ul | ol >
< quote >
< code >
< color >
< img >


Несмотря на то, что BBCode был задуман, как простой аналог Html форматирования, который позволяет избавиться от ряда проблем безопасности, упростить взаимодействие с пользователями и сделать технологически более простую передачу данных на сервер. Все же, его использование чревато возникновением рутины. Именно по этой причине существуют инструменты для онлайн конвертации Html в BBCode и обратно.

Данный онлайн конвертер охватывает основные теги BBCode, которые разрешены практически на любых веб-ресурсах. Их список представлен ниже в таблице:

Таблица соответствия тегов при конвертации
HtmlBBCode
<b>, <strong> [b] (обратно в <b>)
<i>, <em> [i] (обратно в <i>)
<u> [u]
<a> [url=]
<a> (href=mailto) [email=]
<ul> [list]
<ol> [list=1]
<blockquote> [quote]
<textarea>, <script>, <pre> [code] (обратно в <textarea>)
<font color="#"> [color=]
<img> [img]

Кроме того, инструмент так же позволяет произвести быструю очистку от оставшегося Html-кода и убрать лишние символы и пробелы. Так что в большинстве случаев, вместо приятного проведения времени за выколупыванием одних символов и вставкой других, вам всего лишь понадобиться нажать три кнопки.

Сверху, над областью для ввода текста, расположена панель для включения и исключения определенных тегов из процесса конвертации. Например, если в тексте не предполагается никаких картинок и ссылок, то щелкните на кнопках "<img>" и "<a|url>". После чего преобразуйте Html в BBCode и затем почистите текст от Html тэгов. И на выходе у вас получится почищенный текст, который не придется предварительно корректировать.

Конвертер полностью написан на чистом JavaScript и не использует тяжеловесные фреймворки. Так же инструмент не требует перезагрузки страницы и его можно локально сохранить у себя на компьютере.

В связи с этим, у данного инструмента есть два небольших ограничения:

  • пока не поддерживается гарантированный результат преобразования вложенных списков (гарантировано только 1 уровень, хотя, в большинстве случаев конвертация пройдет без проблем)
  • гарантировано преобразуется только валидный html-код (например, отсутствие закрывающего тега приведет к тому, что тег не будет обработан)

Примечание: По одной из версий, BBCode возник в следствии банального нежелания разработчика ковыряться в сложных и заковыристых регулярных выражениях, а так же мучиться с такими функциями, как escape. И отчасти его можно понять. Например, вы можете посмотреть JavaScript-код данной страницы и убедиться, что ряд таких выражений выглядят достаточно громоздко. Учтите, что во времена появления BBCode, больших и красивых фреймворков, как jQuery, попросту не существовало.

Рубрики:
1 1 1 1 1 1 1 1 1 1 Рейтинг 5.00 (1 Голос)

Комментарии / отзывы   

0 # Leo Wyatt 12.11.2016 03:17
Добавьте в начало каждой строчки или , при конвертирование в html, иначе весь текст превращается в 1 строку, при просмотре в браузере.
А при конвертирование в BB естественно убирать их.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 14.11.2016 08:45
А что конкретно то добавить?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Leo Wyatt 17.11.2016 23:31
Добавить Тег BR в конец строки.
Браузер не понимает "\n" как перевод строки.
Т.е. такой текст

Цитата:
Text #1
Text #2
Text #3
Будет выглядеть так

Цитата:
Text #1Text #2Text #3
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 18.11.2016 15:21
Честно говоря, понятнее не стало. Смотрите, вы же смотрите и вводите html-код, а не его отображение. Соответственно, теги просто заменяются и не более. Переносы при этом не страдают.

К примеру:
---------------------
тег b Текст 1 закр. тег b
тег b Текст 2 закр. тег b
тег b Текст 3 закр. тег b
---------------------

Нормально трансформируется с переносами в
---------------------
[ b ]Текст 1[ /b ]
[ b ]Текст 2[ /b ]
[ b ]Текст 3[ /b ]
---------------------

Можете привести пример?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Leo Wyatt 18.11.2016 15:48
Когда печатаешь сообщение на форуме оно формируется как текст с переносами по "\n".

Но если мы его конвертируем в HTML, то все переносы строки "\n" нужно заменить на BR, т.е. в конце каждой строчки поставить данный тег.

Вот наглядный пример
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 18.11.2016 16:50
Вы про обратную конвертацию, так это не проблема, а особенность.

Нельзя просто так заменять "\n" на br. Можно сделать кнопку, которая будет добавлять br в местах, где встречается "\n", но не более.

Иначе это будет некорректно. Мне же никто не мешает использовать, к примеру, тег p или div (они же не конвертируются и не вырезаются по умолчанию).
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Leo Wyatt 18.11.2016 19:17
Да, кнопкой будет уместно. Просто, когда конвертируешь длинный текст, а в итоге в браузере он показывается в одну строчку, это значит, что конвертация прошла как-то не так. Полученное не совпадает с оригиналом в Браузерном формате, ведь ББ код после обработке показывает в браузере с переносами, а ХТМЛ тогда почему нет?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 21.11.2016 11:16
Кнопку скоро сделаю. В принципе, думаю будет многим удобно.

Для HTML переносы не имеют значения - это особенно языка разметки. Конечно, есть исключения, например, тег pre, но его использование (и подобных) считается не очень хорошим тоном.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 21.11.2016 11:29
Кнопка готова.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Leo Wyatt 21.11.2016 11:40
Ошибки:
1. При конвертировании из HTML в BB, если присутствует тег BR, то он не убирается и не ставиться \n, т.е. строка не переноситься.
Цитата:
Пример:
Html:
ТЕКСТ BR текст 2

BB:
ТЕКСТ
текст 2
2. При конвертировании из HTML в BB знак СЛЕШ в теге BR понимается как закрытие открытого тега. Этот слеш используется в спецификации xhtml, его можно не указывать. Но лучше сначала очистить текст от BR-ров, а потом делать перевод.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 21.11.2016 13:37
Это не ошибки. Так как, у вас изначально стояла задача с обратным конвертом.

Еще раз по поводу чистки в автоматическом режиме. Это может быть удобным, но в то же время это некорректно.

Мне ничего не должно мешать составлять текст в его исконном виде, добавлять теги, которые не конвертируются, и прочее.

Тем более, что br это частный случай. Например, на многих сайтах принято абзацы заключать в тег p или div.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Leo Wyatt 21.11.2016 11:44
Но раз в спецификации присутствует 2 вида тега BR (со слешем и без), то при конвертации из HTML в BB нужно проверять и убирать обе версии.

Вот же задал задачу с этими BR ))
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 21.11.2016 13:40
А вы больше знаете, чем говорите. Еще раз повторюсь, br это частный случай. Можно сделать, еще одну кнопку, которая будет конвертировать br в переносы, но это так же некорректно. Так как при обратном преобразовании, чтобы сохранить стиль оформления, перенос коретки не заменяется, а перед ним только устанавливается тег br.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору

Добавить комментарий / отзыв

Комментарий - это вежливое и наполненное смыслом сообщение (правила).


Введите защитный код

Обновить
Защитный код

Каталог программ