Konwerter BBCode na HTML

BBCode był lekkim językiem znaczników epoki forów — [b]bold[/b], [url], [quote], [code]. Używały go phpBB, vBulletin, XenForo i SMF, a miliony postów z tych platform nadal istnieją. Ten konwerter parsuje BBCode i zwraca czysty, poprawny HTML, który możesz wkleić do nowoczesnego CMS-a, statycznej strony albo potoku Markdown-to-HTML, który nie rozumie tagów forum.

Jak konwertować BBCode

  1. 1

    Wklej swój BBCode

    Całe posty albo fragmenty. Zagnieżdżone tagi są obsługiwane.

  2. 2

    Parser tokenizuje tagi otwierające i zamykające

    Pasujące pary `[tag]...[/tag]` tworzą odpowiadający im element HTML.

  3. 3

    Atrybuty tagów są mapowane

    Rzeczy takie jak `[color=red]`, `[size=18]` albo `[url=https://...]` stają się stylami inline lub atrybutami `href`.

  4. 4

    Skopiuj HTML

    Gotowy do wpisu na blogu, strony dokumentacji albo migracji forum.

Obsługiwane tagi

BBCode Wynik HTML
[b]text[/b] <strong>text</strong>
[i]text[/i] <em>text</em>
[u]text[/u] <u>text</u> lub <ins>
[s]text[/s] <del>text</del>
[url]link[/url] <a href="link">link</a>
[url=link]text[/url] <a href="link">text</a>
[img]link[/img] <img src="link">
[quote]q[/quote] <blockquote>q</blockquote>
[code]c[/code] <pre><code>c</code></pre>
[list][*]a[*]b[/list] <ul><li>a</li><li>b</li></ul>
[list=1][*]a[/list] <ol><li>a</li></ol>
[color=red]t[/color] <span style="color:red">t</span>
[size=18]t[/size] <span style="font-size:18px">t</span>
[table]...[/table] <table>...</table>

Uwagi o bezpieczeństwie

BBCode z założenia jest bezpieczny; HTML nie. Konwersja BBCode przesłanego przez użytkownika do HTML to klasyczny moment, w którym forum w 2005 roku wprowadzało XSS. Jeśli publikujesz przekonwertowany wynik:

  • Escapuj każdy surowy tekst wewnątrz tagów BBCode.
  • Używaj listy dozwolonych tagów emitowanych przez konwerter — nie przekazuj nieznanych tagów jako surowego HTML.
  • Waliduj URL-e w [url] i [img], aby blokować schematy javascript: i data:.

To narzędzie usuwa albo neutralizuje wszystkie adresy URL przypominające skrypt podczas konwersji.

Migracja całego forum

Przy przenoszeniu tysięcy postów uruchom konwerter jako potok: eksport postów jako BBCode → przepuszczenie przez ten konwerter → import HTML. Sprawdź ręcznie kilkadziesiąt postów z nietypowym zagnieżdżeniem albo własnymi kodami emoji, których może nie być w standardowym zestawie tagów.

Czego BBCode nie mapuje czysto

  • Niestandardowe emotikony forum (:D i :)) — zostaw bez zmian i renderuj CSS-em albo przetwórz je osobno wcześniej.
  • Tagi specyficzne dla wtyczek (np. [spoiler], [youtube]) — są wymienione w panelu tagów niestandardowych; w przeciwnym razie zostają wypisane jako tekst literalny.
  • Zlane lub niezamknięte tagi — parser próbuje domykać samodzielnie, ale skrajnie uszkodzone wejście może stracić formatowanie.

Najczęściej zadawane pytania

Tak: posty społeczności Steam, fora vBulletin i XenForo, niektóre wiki oraz wiele starych instalacji phpBB. Przetrwał też jako wewnętrzny format znaczników w kilku panelach sterowania serwerami gier.

Nie to narzędzie — użyj konwertera HTML na BBCode. Powrót jest bardziej stratny, bo HTML jest znacznie bardziej ekspresyjny niż BBCode.

Nieznane tagi domyślnie przechodzą jako tekst literalny. Tryb “strict” usuwa je całkowicie, jeśli chcesz mieć w pełni oczyszczony wynik.

Tak. [quote], [list] i [code] mogą być zagnieżdżane dowolnie głęboko. Parser śledzi stosy tagów i domyka je poprawnie.

Powiązane narzędzia