Bộ chuyển đổi BBCode sang HTML
BBCode là kiểu markup nhẹ của thời kỳ forum — [b]bold[/b], [url], [quote], [code]. phpBB, vBulletin, XenForo và SMF đều từng dùng nó, và hàng triệu bài viết trên các nền tảng đó vẫn còn tồn tại. Bộ chuyển đổi này phân tích BBCode và xuất HTML sạch, hợp lệ để bạn dán vào CMS hiện đại, site tĩnh hoặc pipeline Markdown-to-HTML không hiểu các thẻ forum.
Cách chuyển đổi BBCode
-
1
Dán BBCode của bạn
Bài viết đầy đủ hoặc đoạn ngắn đều được. Thẻ lồng nhau được xử lý.
-
2
Parser tách token thẻ mở và thẻ đóng
Các cặp `[tag]...[/tag]` khớp nhau sẽ tạo phần tử HTML tương ứng.
-
3
Thuộc tính thẻ được ánh xạ
Những dạng như `[color=red]`, `[size=18]` hoặc `[url=https://...]` trở thành inline style hoặc thuộc tính `href`.
-
4
Sao chép HTML
Sẵn sàng cho bài blog, trang tài liệu hoặc quá trình migrate diễn đàn.
Thẻ được hỗ trợ
| BBCode | HTML đầu ra |
|---|---|
[b]text[/b] |
<strong>text</strong> |
[i]text[/i] |
<em>text</em> |
[u]text[/u] |
<u>text</u> hoặc <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> |
Ghi chú bảo mật
BBCode được thiết kế để an toàn; HTML thì không. Chuyển BBCode do người dùng gửi thành HTML chính là thời điểm kinh điển khiến một diễn đàn đưa XSS vào hệ thống năm 2005. Nếu bạn xuất bản đầu ra đã chuyển đổi:
- Thoát (escape) mọi văn bản thô bên trong thẻ BBCode.
- Chỉ cho phép các thẻ mà bộ chuyển đổi phát ra — đừng chuyển tiếp thẻ không xác định như HTML thô.
- Kiểm tra URL trong
[url]và[img]để chặn schemejavascript:vàdata:.
Công cụ này loại bỏ hoặc vô hiệu hóa mọi URL giống script trong quá trình chuyển đổi.
Migrate cả một diễn đàn
Khi di chuyển hàng nghìn bài viết, hãy chạy bộ chuyển đổi như một quy trình xử lý: xuất bài viết dạng BBCode → chạy qua bộ chuyển đổi này → nhập HTML. Kiểm tra ngẫu nhiên vài chục bài có lồng thẻ bất thường hoặc mã emoji tùy biến có thể không nằm trong bộ thẻ chuẩn.
Những gì BBCode không ánh xạ sạch sang HTML
- Smilies tùy chỉnh của forum (
:Dvà:)) — giữ nguyên rồi render bằng CSS, hoặc tiền xử lý riêng. - Thẻ riêng của plugin (như
[spoiler],[youtube]) — được liệt kê trong panel custom tags; nếu không sẽ được xuất thành văn bản nguyên dạng. - Thẻ trộn hoặc chưa đóng — parser cố tự đóng, nhưng input quá sai định dạng có thể mất định dạng.
Câu hỏi thường gặp
Có: bài viết cộng đồng Steam, các diễn đàn vBulletin và XenForo, một số wiki và nhiều bản cài phpBB cũ. Nó cũng còn tồn tại như markup nền trong một số panel quản trị game server.
Không phải công cụ này — hãy dùng bộ chuyển HTML sang BBCode. Chuyển ngược thường mất mát hơn vì HTML biểu đạt phong phú hơn BBCode nhiều.
Mặc định thẻ không xác định đi qua như văn bản nguyên dạng. Chế độ “strict” sẽ xóa hẳn chúng nếu bạn muốn đầu ra bảo đảm sạch.
Có. [quote], [list] và [code] có thể lồng sâu tùy ý. Parser theo dõi stack thẻ và đóng chúng đúng cách.
Công cụ liên quan
Trình tạo bảng màu ngẫu nhiên
Tạo bảng màu ngẫu nhiên từ 2 đến 15 mẫu màu, chọn phong cách rực rỡ, pastel, dịu hoặc tối, rồi sao chép mã HEX hoặc biến CSS.
Trình tạo bảng màu
Tạo bảng màu đơn sắc, tương đồng, bổ túc, bộ ba hoặc bộ bốn từ màu HEX gốc và xuất các biến CSS sẵn sàng sao chép.
Trình tạo chữ cái ngẫu nhiên
Tạo chữ cái A-Z ngẫu nhiên. Chọn số lượng, chữ hoa, chữ thường hoặc kiểu trộn, rồi dùng cho trò chơi, gợi ý bài tập hoặc hoạt động lớp học.
Trình định dạng JSON
Dán JSON để hiển thị với thụt lề 2 hoặc 4 dấu cách, rút gọn thành đầu ra compact, hoặc kiểm tra nhanh cú pháp trước khi sao chép kết quả.
Trình tạo màu ngẫu nhiên
Tạo từ 1 đến 50 màu HEX ngẫu nhiên kèm mẫu màu để xem trước, sao chép và dùng trong CSS, kiểm thử hoặc khám phá bảng màu.
Bộ chọn màu HEX
Chọn màu bằng mắt và xem ngay giá trị HEX, RGB, HSL, HSV, CMYK cùng độ tương phản trên nền trắng và đen.