Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153

Перевод текста из html в bbcode

06.07.2012, 21:07. Показов 3886. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Подскажите, пожалуйста, как я могу перевести текст из html в bbcode. Т.е. у меня есть нечто вроде html редактора, в котором пользователь может вводить текст и я перевожу его в html.

Но как мне его потом можно преобразовать и в bbcode?
или может есть какие-нибудь средства для перевода текста сразу в bbcode?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.07.2012, 21:07
Ответы с готовыми решениями:

BBCode to HTML
Всем привет!. Есть форма заполнения статей, в ней есть кнопки с B I U и т д и заполняются они с тегами bbcode после чего я статью...

Перевод текста в HTML на лету
Всем добра форумчане. Подскажите такой вопрос, как преобразовать текст в html блоки. Но стандартные без <div'ов>. Допустим,...

Перевод из текста в html
Возможно немножко не туда пишу, так что извиняюсь... есть строка допустим, с таким содержимым: <blockquote>Это самый...

6
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
06.07.2012, 21:18
99% Случаев BB-код это HTML в квадратных скобках, <b> </b> =
1
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
06.07.2012, 22:25  [ТС]
т.е. мне нужно просто заменить <> на [] ???
0
 Аватар для phoenfix
39 / 39 / 8
Регистрация: 30.04.2012
Сообщений: 128
07.07.2012, 00:45
Цитата Сообщение от andrey11231990 Посмотреть сообщение
т.е. мне нужно просто заменить <> на [] ???
смотря для какого вы сайта делаете, изучите несколько типов ббкодов, коды могут быть как [img=image.png] так и [img]image.png[/img]
при том, что в html это <img src="image.png" />
1
 Аватар для Unril
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
07.07.2012, 01:49
Используя HtmlAgilityPack, к примеру, парсите полученный html, на выходе получаете древовидную структуру, после этого обходите эту структуру и по дороге преобразовываете теги и текст в нужный формат.
1
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
07.07.2012, 02:37  [ТС]
я нашел пример на сайте (HtmlAgilityPack):

C#
1
2
3
4
5
6
7
8
HtmlDocument doc = new HtmlDocument();
 doc.Load("file.htm");
 foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
 {
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
 }
 doc.Save("file.htm");
насколько я понял - это присвоение определенного значения для всех ссылок на странице. Но как мне изменить сами теги? а то документации нет и самостоятельно я навряд ли разберусь
0
 Аватар для Unril
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
08.07.2012, 01:40
Как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Text;
using System.Text.RegularExpressions;
using HtmlAgilityPack;
 
namespace TestApp {
    internal class Program {
        private static readonly Regex Regex = new Regex(@">(?<textGroup>[^<>]+)<", RegexOptions.Compiled);
 
        private static void Main(string[] args) {
            const string inputString = @"<b><i>He</i>llo</b> wor<i>ld</i>! <img src=""image.png"" />";
 
            string html = AddTextNodes(inputString);
            HtmlNode root = CreateHtmpTree(html);
 
            var sb = new StringBuilder();
            Convert(root, sb);
 
            Console.WriteLine(sb);
            Console.ReadKey();
        }
 
        private static string AddTextNodes(string htmlStr) {
            return Regex.Replace(htmlStr, match => "><text>" + match.Groups["textGroup"].Value + "</text><");
        }
 
        private static HtmlNode CreateHtmpTree(string htmlStr) {
            var doc = new HtmlDocument();
            doc.LoadHtml(htmlStr);
            return doc.DocumentNode;
        }
 
        private static void Convert(HtmlNode htmlNode, StringBuilder sb) {
            string name = htmlNode.Name;
 
            // Заменяем открывающие теги.
            if (name == "img") {
                sb.AppendFormat(@"[img]{0}[/img]", htmlNode.GetAttributeValue("src", string.Empty));
            }
            else if (name == "i" || name == "b") {
                sb.AppendFormat(@"[{0}]", name);
            }
            else if (name == "text") {
                // Добавляем текст.
                sb.Append(htmlNode.InnerText);
            }
 
            // Рекурсивно обходим подтеги.
            foreach (var childNode in htmlNode.ChildNodes) {
                Convert(childNode, sb);
            }
 
            // Заменяем закрывающие теги.
            if (name == "i" || name == "b") {
                sb.AppendFormat(@"[/{0}]", name);
            }
        }
    }
}
Просто regex'ами, на мой взгляд, не обойтись, так как в общем случае, бб-коды могут не соответствовать структуре html тегов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.07.2012, 01:40
Помогаю со студенческими работами здесь

Html to bbcode
День добрый. Столкнулся с проблемой что нужно перевести html код в bbcode, вроде бы ничего сложного, но, нужно что бы сохраняло вложенные...

Транслятор bbcode to html
Доброго времени суток! Ситуация такая: нужен батник, который текстовый файл с bbcode перерабатывал в html, т.е нахадил слова(теги bbcode)...

Транслятор bbcode to html
Доброго времени суток! Ситуация такая: нужен батник, который текстовый файл с bbcode перерабатывал в html, т.е нахадил слова(теги bbcode)...

Из Html в BBcode - Notepad++
Здравствуйте. Нужна программа для конвертации из Html в BBcode. Прочитал что Notepad++ умеет это делать. Установил программу...

Ошибка bbcode или криво отображается панель редактирования текста в комментариях
Столкнулся с такой проблемой: поставил рипнутый шаблон и в окне добавления комментариев вот такая вот ошибка (если это так можно назвать) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru