BBCode เป็น HTML

แปลงสแนปเพ็ต bbcode ประเภทฟอรัมเป็นโค้ด HTML แบบดิบ

5 จาก 2 การให้คะแนน
BBCode เป็น HTML

BBCode เป็น HTML คือเครื่องมือฟรีสำหรับแปลงโค้ด BBCode เป็น HTML ดิบ เพื่อนำไปใช้งานนอกเครื่องมือแก้ไขข้อความของเว็บบอร์ด

การแปลง BBCode ช่วยแก้ปัญหาอะไร?

การแปลง BBCode จะเปลี่ยนมาร์กอัปแบบเว็บบอร์ดให้เป็น HTML ที่เบราว์เซอร์ ระบบจัดการเนื้อหา และเทมเพลตเว็บนำไปใช้ได้ โดย BBCode ใช้แท็กในวงเล็บเหลี่ยม เช่น [b], [i] และ [url] แทนอิลิเมนต์ HTML

การแปลงนี้มีประโยชน์เมื่อต้องย้ายโพสต์ออกจากเว็บบอร์ด ตรวจสอบข้อผิดพลาดของเนื้อหาที่ API จากผู้ให้บริการภายนอกส่งกลับมา หรือเตรียมฐานความรู้เก่าสำหรับแพลตฟอร์มที่รองรับ HTML แต่ไม่รองรับ BBCode นอกจากนี้ยังช่วยให้ตรวจสอบข้อความที่นำเข้าแยกจากโค้ดส่วนอื่นของแอปพลิเคชันก่อนนำระบบขึ้นใช้งานได้

BBCode ไม่ใช่ภาษาที่มีมาตรฐานอย่างเป็นทางการเพียงรูปแบบเดียว ซอฟต์แวร์เว็บบอร์ดและปลั๊กอินแต่ละตัวสามารถกำหนดแท็ก แอตทริบิวต์ และกฎการซ้อนแท็กของตัวเองได้ ดังนั้น แม้การแปลงรูปแบบทั่วไปจะทำงานได้ แต่อาจต้องปรับผลลัพธ์เมื่อข้อมูลต้นทางมีองค์ประกอบเฉพาะแพลตฟอร์ม เช่น กล่องซ่อนเนื้อหา การอ้างอิงไฟล์แนบ หรือแท็กสื่อแบบกำหนดเอง

จะแปลง BBCode เป็น HTML ได้อย่างไร?

พิมพ์หรือวางมาร์กอัปต้นฉบับลงในช่อง BBCode แล้วดูโค้ดที่แปลงแล้วในช่อง HTML คัดลอก HTML ไปยังปลายทางเมื่อได้ตรวจสอบแล้วว่าอิลิเมนต์และลิงก์ตรงกับเนื้อหาที่ต้องการ

  1. คัดลอกโค้ด BBCode ให้ครบ รวมทั้งแท็กเปิดและแท็กปิด
  2. วางลงในช่อง BBCode โดยไม่ต้องเปลี่ยนวงเล็บเหลี่ยม
  3. ตรวจสอบผลลัพธ์แบบโค้ดดิบในช่อง HTML
  4. ตรวจสอบลิงก์ รูปภาพ รายการ และรูปแบบที่ซ้อนกันเทียบกับโพสต์ต้นฉบับ
  5. กรอง HTML ที่มาจากแหล่งที่ไม่น่าเชื่อถือก่อนนำไปแสดงบนหน้าเว็บสาธารณะ
เครื่องมือ BBCode เป็น HTML บน digily.link พร้อมแบบฟอร์มกรอกข้อมูล

ระบบจะแปลงข้อมูลบนเซิร์ฟเวอร์ ข้อมูลที่คุณป้อนจะถูกส่งไปยังเซิร์ฟเวอร์ผ่าน HTTPS และจะไม่ถูกจัดเก็บ

ควรอ่าน HTML ที่ได้อย่างไร?

ให้อ่านผลลัพธ์ในฐานะซอร์สโค้ด ไม่ใช่ตัวอย่างภาพที่แสดงผล HTML ที่ได้ควรมีอิลิเมนต์ซึ่งแทนโครงสร้างและรูปแบบที่ระบุไว้ใน BBCode ต้นฉบับ

ตัวอย่างง่าย ๆ ในเชิงแนวคิดคือ:

ข้อมูล BBCode: [b]Release note[/b]

ผลลัพธ์ HTML: อิลิเมนต์ HTML สำหรับตัวหนาหรือการเน้นความสำคัญ ซึ่งมีข้อความ "Release note" อยู่ภายใน

อีกรูปแบบที่พบบ่อยคือ:

ข้อมูล BBCode: [url=https://example.org/docs]Read the docs[/url]

ผลลัพธ์ HTML: อิลิเมนต์ลิงก์ที่มีปลายทางเป็น https://example.org/docs และแสดงข้อความ "Read the docs"

ชื่ออิลิเมนต์ที่ใช้จริงอาจต่างกันไปในแต่ละตัวแปลง เพราะ BBCode แต่ละรูปแบบไม่ได้ใช้มาตรฐานเดียวกัน ตัวอย่างเช่น ข้อความตัวหนาอาจใช้ได้ทั้งอิลิเมนต์ b ซึ่งใช้ดึงความสนใจโดยไม่ได้สื่อว่าข้อความสำคัญขึ้น หรืออิลิเมนต์ strong ซึ่งระบุว่าข้อความมีความสำคัญมาก ควรตรวจสอบค่าจริงในช่อง HTML แทนการคาดเดาว่าระบบจะแปลงเป็นอิลิเมนต์ใด

เครื่องมือนี้มีหน้าที่แปลงข้อมูล ไม่ได้ใช้แทนเครื่องมือตรวจสอบความถูกต้องของ HTML หรือเครื่องมือกรองโค้ดที่ไม่ปลอดภัย หากพบ BBCode ที่ยังคงอยู่แบบข้อความ เนื้อหาขาดหาย หรืออิลิเมนต์ซ้อนกันผิดปกติ ให้ถือเป็นสัญญาณว่าข้อมูลต้นทางมีไวยากรณ์ผิดหรือใช้รูปแบบที่ระบบไม่รองรับ ปัญหาที่พบบ่อย ได้แก่ แท็กไม่มีตัวปิด แท็กปิดเรียงลำดับผิด แอตทริบิวต์มีรูปแบบไม่ถูกต้อง และแท็กเฉพาะเว็บบอร์ดที่ไม่มีรูปแบบ HTML ทั่วไปเทียบเท่า

ตัวอย่างผลลัพธ์จากเครื่องมือ BBCode เป็น HTML

ข้อมูลที่จัดการยากและความแตกต่างของ BBCode แต่ละรูปแบบ

ช่องว่าง เครื่องหมายวรรคตอน ตัวเลข ตัวอักษรที่มีเครื่องหมายกำกับ และอักษรที่ไม่ใช่ละตินถือเป็นข้อความทั่วไป เว้นแต่จะอยู่ในไวยากรณ์ของแท็กหรือแอตทริบิวต์ อักขระเหล่านี้ควรคงอยู่เป็นเนื้อหา ไม่ควรถูกเปลี่ยนเป็นมาร์กอัปแยกต่างหาก ส่วน URL ต้องระวังมากกว่า อักขระที่เป็นส่วนหนึ่งของ URL เช่น ช่องว่าง อาจต้องเข้ารหัสแบบเปอร์เซ็นต์ ขณะที่อักขระซึ่งมีความหมายพิเศษในไวยากรณ์แอตทริบิวต์ HTML ที่ครอบอยู่ เช่น เครื่องหมายแอมเพอร์แซนด์และเครื่องหมายอัญประกาศ อาจต้องเข้ารหัสเป็นเอนทิตี HTML

  • ซ้อนแท็กไม่ถูกต้อง: [b][i]Text[/b][/i] ปิดแท็กผิดลำดับ มาร์กอัปที่ซ้อนอย่างถูกต้องต้องปิดแท็กชั้นในก่อน
  • ไม่มีแท็กปิด: [quote]Text จะไม่มีแท็กปิดคู่กัน หากละแท็กสุดท้ายไว้
  • แท็กแบบกำหนดเอง: [spoiler], [video] และแท็กไฟล์แนบอาจมีความหมายต่างกันในซอฟต์แวร์เว็บบอร์ดแต่ละตัว
  • มี HTML อยู่แล้ว: HTML ที่ปะปนอยู่ใน BBCode อาจถูกเข้ารหัส คงไว้ตามเดิม หรือถือเป็นข้อความ ทั้งนี้ขึ้นอยู่กับตัวแยกวิเคราะห์ ควรตรวจสอบอย่างละเอียดแทนการอาศัยกฎเดียวกับทุกระบบ
  • ข้อมูลยาวมาก: โดยทั่วไป การย้ายข้อมูลปริมาณมากจะจัดการเป็นชุดได้ง่ายกว่า เพื่อให้ระบุและแก้ไขระเบียนที่ประมวลผลไม่สำเร็จได้

ข้อมูลว่างไม่มีโครงสร้างรูปแบบให้แปลง หากต้นฉบับเป็นข้อความล้วนที่ไม่มีแท็ก BBCode การแปลงอาจแทบไม่ก่อให้เกิดประโยชน์ แต่กระบวนการ HTML ในขั้นตอนถัดไปอาจยังต้องเข้ารหัสอักขระ เช่น <, > และ &

กรณีไหนไม่จำเป็นต้องแปลง?

ไม่จำเป็นต้องแปลงหากเนื้อหาจะถูกอ่านโดยระบบที่เข้าใจ BBCode รูปแบบเดิมอยู่แล้ว การเปลี่ยนรูปแบบเพิ่มขั้นตอนการแปลงอีกชั้นหนึ่ง และอาจทำให้การทำงานเฉพาะของเว็บบอร์ดสูญหาย

หากระบบจัดเก็บ BBCode ไว้โดยไม่แก้ไข เพื่อให้เอนจินเว็บบอร์ดเดิมนำไปแสดงผลภายหลัง ก็ไม่จำเป็นต้องแปลงเช่นกัน ในทำนองเดียวกัน การจัดโค้ด HTML ที่สร้างขึ้นให้อ่านง่ายหรือเรียงใหม่ด้วยตนเองแทบไม่มีประโยชน์เมื่อมีเพียงระบบคอมพิวเตอร์ที่อ่านโค้ดนั้น เว้นแต่ต้องจัดรูปแบบเพื่อใช้ตรวจสอบในระบบควบคุมเวอร์ชันหรือแก้ไขข้อผิดพลาด

สำหรับการย้ายข้อมูลจำนวนมาก ตัวแยกวิเคราะห์ที่ทำงานด้วยสคริปต์อาจเหมาะกว่า เพราะใช้กฎของ BBCode รูปแบบเดียวกันกับทุกระเบียนและบันทึกรายการที่ประมวลผลไม่สำเร็จได้ การใช้นิพจน์ทั่วไปเพียงอย่างเดียวมีความเสี่ยงกับมาร์กอัปที่ซ้อนกัน ควรใช้ตัวแยกวิเคราะห์ที่เข้าใจการซ้อนแท็ก แอตทริบิวต์ และข้อมูลที่มีรูปแบบผิด จากนั้นจึงตรวจสอบความถูกต้องและกรอง HTML ที่ได้แยกอีกขั้น หากเนื้อหาที่แปลงแล้วมีการกำหนดค่ารูปแบบ JSON ฝังอยู่ ตัวตรวจสอบและจัดรูปแบบ JSON ช่วยตรวจสอบข้อมูลนั้นได้ แต่จะไม่ตรวจสอบ HTML ที่อยู่รอบ ๆ

คำถามที่พบบ่อย

แปลง BBCode แล้วนำไปเผยแพร่ได้ทันทีหรือไม่?

ไม่ได้ HTML ที่สร้างจากโพสต์ในเว็บบอร์ดซึ่งไม่น่าเชื่อถือควรผ่านเครื่องมือกรอง HTML ตามรายการที่อนุญาตก่อนนำไปแสดงผล เรื่องนี้สำคัญเป็นพิเศษกับลิงก์ รูปภาพ สื่อแบบฝัง และข้อมูลต้นทางที่อาจมีข้อความลักษณะคล้าย HTML อยู่แล้ว

ขึ้นบรรทัดใหม่แล้วจะกลายเป็นย่อหน้า HTML หรือไม่?

การจัดการบรรทัดใหม่ขึ้นอยู่กับตัวแยกวิเคราะห์ BBCode และกฎของแพลตฟอร์มต้นทาง บางระบบถือว่าบรรทัดว่างเป็นย่อหน้า ขณะที่บางระบบแทรกอิลิเมนต์ขึ้นบรรทัดใหม่หรือเก็บช่องว่างเดิมไว้ ก่อนย้ายเนื้อหาจำนวนมาก ควรนำตัวอย่างหลายบรรทัดมาเทียบกับการแสดงผลในเว็บบอร์ดต้นฉบับ

BBCode รองรับอักขระ Unicode หรือไม่?

BBCode รองรับข้อความ Unicode รวมถึงตัวอักษรที่มีเครื่องหมายกำกับ อีโมจิ และอักษรที่ไม่ใช่ละติน เพราะอักขระเหล่านี้เป็นเนื้อหา ไม่ใช่ไวยากรณ์ของแท็ก หน้าปลายทางต้องใช้การเข้ารหัสอักขระที่เหมาะสมด้วย ซึ่งโดยทั่วไปคือ UTF-8 มิฉะนั้นข้อความอาจแสดงผลผิดหลังการแปลง

แปลง BBCode ที่อยู่ในไฟล์ CSV หรือข้อมูลที่ส่งออกจากฐานข้อมูลได้ไหม?

ให้แปลงเฉพาะค่าในฟิลด์ ไม่ใช่ไฟล์ส่งออกทั้งไฟล์ เครื่องหมายอัญประกาศ ตัวคั่นใน CSV และลำดับอักขระหลีกของฐานข้อมูลเป็นส่วนหนึ่งของรูปแบบที่ครอบข้อมูลอยู่ และอาจเสียหายหากส่งผ่านเครื่องมือแปลงมาร์กอัป ควรเก็บสำเนาสำรองที่ไม่ผ่านการแก้ไขไว้ และทดลองประมวลผลข้อมูลชุดเล็กก่อนแปลงทุกแถว

ควรตรวจสอบอะไรก่อนนำเข้า HTML?

ตรวจสอบตัวอย่างที่มีรูปแบบซ้อนกัน ลิงก์ รายการ การอ้างอิงรูปภาพ และแท็กแบบกำหนดเองทั้งหมดที่เว็บบอร์ดต้นทางใช้ ยืนยันว่าปลายทางรองรับอิลิเมนต์และแอตทริบิวต์ HTML เหล่านั้น จากนั้นดำเนินขั้นตอนกรองหรือตรวจสอบความถูกต้องตามที่ระบบกำหนดก่อนนำเข้าข้อมูลทั้งหมด

เครื่องมือยอดนิยม