[VB.NET] Hướng dẫn chuyển đổi code HTML to BB code
Bài viết hôm nay, mình xin hướng dẫn các bạn cách chuyển đổi code từ code HTML to BBcode . Trong bài viết trước, mình đã có làm một bài hướng dẫn về cách đăng tin tự động lên diễn đàn Xenforo . Để đăng lên được các diễn đàn Forum, các bạn cần phải convert code ...
Bài viết hôm nay, mình xin hướng dẫn các bạn cách chuyển đổi code từ code HTML to BBcode. Trong bài viết trước, mình đã có làm một bài hướng dẫn về cách đăng tin tự động lên diễn đàn Xenforo. Để đăng lên được các diễn đàn Forum, các bạn cần phải convert code từ HTML sang BBcode, thì post nó mới hiểu.
Bảng tag element của HTML và BBcode.
Dưới đây, là hàm convert HTML to BBcode, các bạn chỉ cần sử dụng Regular Expression đề xử lý. Các bạn có thể tìm hiểu bài Regular trong lập trình Csharp để tham khảo.
Public Function FormatHtmlIntoBBCode(desc As String) As String desc = System.Text.RegularExpressions.Regex.Replace(desc, "<br(.*?) />", "[br]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<br(.*?)>", "[br]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<UL[^>]*>", "[ulist]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</UL>", "[/ulist]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<OL[^>]*>", "[olist]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</OL>", "[/olist]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<LI>", "[*]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</li>", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<B>", "[b]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</B>", "[/b]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<STRONG>", "[strong]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</STRONG>", "[/strong]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<u>", "[u]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</u>", "[/u]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<i>", "[i]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</i>", "[/i]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<em>", "[em]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</em>", "[/em]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<sup>", "[sup]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</sup>", "[/sup]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<sub>", "[sub]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</sub>", "[/sub]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<HR[^>]*>", "[hr]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<STRIKE>", "[strike]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</STRIKE>", "[/strike]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<h1>", "[h1]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</h1>", "[/h1]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<h2>", "[h2]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</h2>", "[/h2]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "<h3>", "[h3]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</h3>", "[/h3]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) 'desc = System.Text.RegularExpressions.Regex.Replace(desc, "[br]", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase) Dim match As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(desc, "<img[sS]*?src=""([sS]*?)""[sS]*?>", System.Text.RegularExpressions.RegexOptions.IgnoreCase) If match.Count > 0 Then desc = System.Text.RegularExpressions.Regex.Replace(desc, match(0).ToString(), "[img]" + match(0).Groups(1).Value + "[/img]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) End If desc = System.Text.RegularExpressions.Regex.Replace(desc, "<a href=""", "[url=", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, "</a>", "[/url]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) 'desc = System.Text.RegularExpressions.Regex.Replace(desc, "<span style=""color:", "[color=", System.Text.RegularExpressions.RegexOptions.IgnoreCase) 'desc = System.Text.RegularExpressions.Regex.Replace(desc, "</span>", "[/color]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = System.Text.RegularExpressions.Regex.Replace(desc, """>", "]", System.Text.RegularExpressions.RegexOptions.IgnoreCase) desc = desc.Replace("[br]", "") desc = desc.Replace("<p>", "") desc = desc.Replace("</p>", "") Return desc End Function
CHÚC CÁC BẠN THÀNH CÔNG!