คนทันสมัยคำถามที่พบบ่อย php โหมด bbcode บันทึกช่วยจำเกี่ยวกับการใช้รหัส BB (bbCode) จัดรูปแบบย่อหน้าและพื้นที่


bbcode คืออะไร   BBCode เป็นตัวแปรพิเศษของ HTML คุณสามารถใช้ BBCode ในการโพสต์ของคุณหรือไม่ขึ้นอยู่กับผู้ดูแลบอร์ด นอกจากนี้คุณสามารถปิดการใช้งาน BBCode ในข้อความเฉพาะเมื่อโพสต์ BBCode นั้นคล้ายกับ HTML มีแท็กอยู่ในวงเล็บเหลี่ยม [และ] ไม่ใช่< и >; ช่วยควบคุมวิธีแสดงข้อมูลได้มากขึ้น เมื่อใช้เทมเพลตบางตัวคุณสามารถเพิ่ม BBCode ลงในข้อความของคุณได้โดยใช้ส่วนต่อประสานที่เรียบง่ายซึ่งอยู่เหนือช่องป้อนข้อความ แต่ถึงอย่างนั้นคู่มือนี้อาจมีประโยชน์

การจัดรูปแบบข้อความ

วิธีทำให้ข้อความเป็นตัวหนาเฉียงหรือขีดเส้นใต้   BBCode มีแท็กสำหรับการเปลี่ยนรูปแบบตัวอักษรอย่างรวดเร็วคุณสามารถทำได้ด้วยวิธีต่อไปนี้:
  • หากต้องการทำให้ข้อความเป็นตัวหนาให้ล้อมรอบ [b]ตัวอย่างเช่น

    [b]สวัสดี

    จะกลายเป็น สวัสดี

  • เพื่อขีดเส้นใต้การใช้งาน [u]ตัวอย่างเช่น

    [u]สวัสดีตอนเช้าค่ะ

    จะเป็นตอนเช้าที่ดี

  • ตัวเอียงทำด้วยแท็ก [I]ตัวอย่างเช่น

    มันคือ [I]ที่ดี!

    มันจะให้ ที่ดี!

วิธีเปลี่ยนสีตัวอักษรหรือขนาด   แท็กต่อไปนี้สามารถใช้ในการเปลี่ยนสีหรือขนาดตัวอักษร (ลักษณะสุดท้ายจะขึ้นอยู่กับระบบและเบราว์เซอร์ของผู้ใช้):
  • คุณสามารถเปลี่ยนสีข้อความโดยล้อมรอบมัน . คุณสามารถระบุชื่อสีที่รู้จัก (แดงน้ำเงินเหลือง ฯลฯ ) หรือการแสดงเลขฐานสิบหกเช่น #FFFFFF, # 000000 ดังนั้นในการสร้างข้อความสีแดงคุณสามารถใช้:

    สวัสดี!

    สวัสดี!

    ทั้งสองวิธีจะส่งผลให้ Hello!

  • การปรับขนาดทำได้ในลักษณะเดียวกันเมื่อใช้งาน . แท็กนี้ขึ้นอยู่กับเทมเพลตที่ใช้รูปแบบที่แนะนำคือตัวเลขที่แสดงขนาดของข้อความเป็นเปอร์เซ็นต์ตั้งแต่ 20% (เล็กมาก) ถึง 200% (ใหญ่มาก) ของขนาดเริ่มต้น ตัวอย่างเช่น

    ขนาดเล็ก

    ส่วนใหญ่จะเป็น LITTLE

    ในขณะที่:

    ขนาดใหญ่!

    จะใหญ่มาก!

ฉันสามารถรวมแท็กได้หรือไม่   ใช่แน่นอนคุณสามารถ ตัวอย่างเช่นเพื่อดึงดูดความสนใจของใครบางคนคุณสามารถเขียน:

[b]มองมาที่ฉัน!

สิ่งที่จะให้ออก มองมาที่ฉัน!

[b] [u]นี่เป็นสิ่งที่ผิด

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

อ้างคำตอบ   มีสองวิธีในการอ้างอิงข้อความโดยมีหรือไม่มีลิงก์
  • เมื่อคุณใช้ปุ่มอ้างเพื่อตอบกลับข้อความข้อความนั้นจะถูกเพิ่มลงในฟิลด์อินพุตในบล็อกที่ล้อมรอบ . วิธีนี้จะช่วยให้คุณอ้างอิงโดยอ้างอิงกับผู้แต่งหรืออย่างอื่นที่คุณเขียนไว้ ตัวอย่างเช่นการอ้างข้อความที่เขียนโดยนาย Blobby คุณจะเขียน:

    ข้อความนาย Blobby จะอยู่ที่นี่

    เป็นผลให้คำว่า "นาย Blobby เขียนว่า: " จำคุณไว้ ต้อง  ใส่ชื่อไว้ในเครื่องหมายอัญประกาศ "" พวกเขาไม่สามารถละเว้นได้

  • วิธีที่สองช่วยให้คุณพูดอะไรบางอย่าง ในการทำเช่นนี้คุณจะต้องใส่ข้อความในแท็ก . เมื่อดูข้อความข้อความในบล็อกการอ้างอิงจะปรากฏขึ้น
โค้ดหรือการจัดรูปแบบข้อความ   หากคุณต้องการส่งออกชิ้นส่วนของโปรแกรมหรือสิ่งที่ควรแสดงในแบบอักษรที่มีความกว้างคงที่ (Courier) คุณต้องใส่ข้อความในแท็ก ตัวอย่างเช่น

echo "นี่คือรหัสบางส่วน";

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

สร้างรายการ

สร้างรายการสัญลักษณ์แสดงหัวข้อย่อย   BBCode รองรับรายการสองประเภท: สัญลักษณ์แสดงหัวข้อย่อยและลำดับเลข พวกเขาเกือบจะเหมือนกับ HTML เทียบเท่า ในรายการหัวข้อย่อยองค์ประกอบทั้งหมดจะถูกแสดงตามลำดับแต่ละรายการจะถูกทำเครื่องหมายด้วยสัญลักษณ์เครื่องหมาย ในการสร้างรายการสัญลักษณ์แสดงหัวข้อย่อยให้ใช้   และกำหนดแต่ละองค์ประกอบด้วย [*] . ตัวอย่างเช่นหากต้องการแสดงสีโปรดของคุณคุณสามารถใช้:


[*] สีแดง
[*] สีน้ำเงิน
[*] สีเหลือง

สิ่งนี้จะสร้างรายการดังนี้:

  • สีแดง
  • สีน้ำเงิน
  • สีเหลือง
สร้างรายการที่มีหมายเลข   รายการหมายเลขลำดับที่สองช่วยให้คุณเลือกสิ่งที่จะแสดงก่อนหน้าแต่ละองค์ประกอบ ในการสร้างรายการที่มีหมายเลขให้ใช้   หรือ   เพื่อสร้างรายการตัวอักษร เช่นเดียวกับรายการหัวข้อย่อยรายการถูกกำหนดโดยใช้ [*] . ตัวอย่างเช่น


[*] ไปที่ร้าน
[*] ซื้อคอมพิวเตอร์เครื่องใหม่
[*]

จะผลิตดังต่อไปนี้:

  1. ไปที่ร้าน
  2. ซื้อคอมพิวเตอร์เครื่องใหม่
  3. ดุคอมพิวเตอร์เมื่อมีข้อผิดพลาดเกิดขึ้น
สำหรับรายการตัวอักษรให้ใช้:


[*] คำตอบแรกที่เป็นไปได้
[*] คำตอบที่เป็นไปได้ที่สอง
[*] คำตอบที่เป็นไปได้ที่สาม

สิ่งที่จะให้ออก

  1. คำตอบแรกที่เป็นไปได้
  2. คำตอบที่เป็นไปได้ที่สอง
  3. คำตอบที่เป็นไปได้ที่สาม

การสร้างลิงก์

ลิงค์ไปยังเว็บไซต์อื่น   BBCode รองรับการสร้าง URL ได้หลายวิธี
  • คนแรกใช้แท็ก หลังจากเครื่องหมาย \u003d แล้ว URL ที่ต้องการควรไป ตัวอย่างเช่นสำหรับลิงก์ไปยัง phpBB.com คุณสามารถใช้:

    เยี่ยมชม phpBB!

  • หากคุณต้องการให้ URL ปรากฏเป็นข้อความลิงค์คุณสามารถทำสิ่งต่อไปนี้ได้:

    http://www.phpbb.com/

  • นอกจากนี้ phpBB รองรับคุณสมบัติที่เรียกว่า ลิงก์อัตโนมัติสิ่งนี้จะแปล URL ที่ถูกต้องทางไวยากรณ์ใด ๆ ลงในลิงก์โดยไม่จำเป็นต้องใช้แท็กและแม้กระทั่งคำนำหน้า http: // ตัวอย่างเช่นการป้อน www.phpbb.com ในข้อความของคุณจะส่งคืน www.phpbb.com โดยอัตโนมัติเมื่อดูข้อความ
  • เช่นเดียวกับที่อยู่อีเมลคุณสามารถระบุที่อยู่อย่างชัดเจน:

    [email protected]

    ที่จะออก [email protected] หรือเพียงแค่ป้อน [email protected] ในข้อความของคุณและมันจะถูกแปลงโดยอัตโนมัติเมื่อดู

เช่นเดียวกับแท็ก BBCode อื่น ๆ คุณสามารถใส่แท็กอื่น ๆ ใน URL ตัวอย่างเช่น   (ดูย่อหน้าถัดไป) [b]  เป็นต้นเช่นเดียวกับการจัดรูปแบบแท็กการซ้อนแท็กที่ถูกต้องนั้นขึ้นอยู่กับคุณเช่น:

http://www.google.com/intl/en_ALL/images/logo.gif

ไม่ถูกต้องซึ่งอาจนำไปสู่การลบข้อความของคุณในภายหลังดังนั้นควรระมัดระวัง

การแนะนำ

bbCode - รหัสกระดานข่าวหรือภาษามาร์กอัปที่ใช้ในการจัดรูปแบบข้อความบนกระดานข่าวอิเล็กทรอนิกส์ (BBS) และฟอรัมต่างๆ ในการจัดรูปแบบข้อความจะใช้แท็กเช่นแท็ก HTML ซึ่งแตกต่างจากแท็ก HTML แท็ก bbCode จะอยู่ในเครื่องหมายวงเล็บเหลี่ยม ก่อนที่จะแสดงหน้าเอ็นจิ้นฟอรัมจะแยกวิเคราะห์ข้อความและแปลง bbCode เป็นรหัส HTML

ในฟอรัมจำนวนมากความสามารถในการใช้รหัส BB ได้รับการกำหนดค่าโดยผู้ดูแลระบบสำหรับแต่ละส่วนของฟอรัม ดังนั้นก่อนที่จะใช้รหัส BB ในข้อความคุณต้องตรวจสอบให้แน่ใจว่าได้รับอนุญาต

การจัดรูปแบบตัวอักษร

แท็กพื้นฐานสำหรับการทำงานกับข้อความ:

[p] ย่อหน้าเยื้องปกติ

ย่อหน้าที่คุณสามารถจัดสไตล์
* ต่อไปนี้“ สไตล์” เป็นอะนาล็อกของสไตล์ใน HTML
   ข้อความคล้ายกันใน HTML

ข้อความ


** ด้วยแท็ก [p] คุณสามารถใช้แท็กอื่นเช่น [b], [i], [s], ฯลฯ

ข้อความที่คุณสามารถใช้เพื่อจัดรูปแบบคุณสมบัติ

พื้นที่ จำกัด ที่สามารถใช้เปลี่ยนคุณสมบัติด้วยสไตล์ (ตำแหน่งเส้นขอบการเยื้องคุณสมบัติของเนื้อหา ฯลฯ )
* โดยค่าเริ่มต้นขอบเขตของพื้นที่จะไม่ปรากฏให้เห็น หน้าเดียวสามารถมีหลายพื้นที่พร้อมกัน

การจัดรูปแบบข้อความ:

[b] ข้อความสำคัญตัวหนา

[I] ข้อความสำคัญตัวเอียง

แค่ตัวหนา

แค่ตัวเอียง

[u] ข้อความที่ขีดเส้นใต้

[s] ข้อความ Strikethrough - เหมือนกับการเปลี่ยนแปลง

ตัวอักษรขนาดเล็ก

เครื่องหมายเชิงอรรถด้านบนหรือดัชนีด้านล่างข้อความ

ข้อความที่ถูกลบ

ขนาดตัวอักษร:

แบบอักษร 13 จุด

แบบอักษร 15 จุด

แบบอักษร 9px

แบบอักษร 12px

แบบอักษร 15px

ขนาด 0

ขนาด +1

ขนาด +2

ตัวเลือกขนาดตัวอักษรที่เป็นไปได้ (การประเมินภาพ) มีอยู่

หัวข้อข่าว:

ส่วนหัวระดับ 1

ส่วนหัวระดับ 2

ส่วนหัวระดับ 3

ส่วนหัวระดับที่ 4

หัวเรื่องระดับ 5

ส่วนหัวระดับ 6

ทำข้อความด้วยแบบอักษร:

ตัวอักษร Comic Sans Ms

Font Monotype Corsiva

ตัวอักษร Tahoma

มีตัวเลือกประเภทตัวอักษรที่เป็นไปได้ (ชื่อและการให้คะแนนภาพ)

ทำข้อความด้วยสี:

ข้อความสีแดง
* คุณสามารถใช้การกำหนดสีด้วยวาจามาตรฐาน: สีแดงสีเขียวสีฟ้า ฯลฯ

ข้อความสีน้ำเงิน
* หมายเลข # 0000ff หมายถึงสีน้ำเงินในจานสี RGB

พื้นหลังสีน้ำเงิน
* พื้นหลังสามารถเปลี่ยนสีได้

ข้อความสีน้ำเงินพื้นหลังสีเทา

บางสีที่กำหนดไว้ล่วงหน้า:

สีดำสีขาวสีแดงสีเขียวสีน้ำเงินสีม่วง Firebrick Maroon สีส้มสีแดงเที่ยงคืนน้ำเงินดอกไม้ชนิดหนึ่งสีฟ้า
Cyan Yellow Magenta DarkGreen DarkGoldenrod ทองออร์คิดบลูสีม่วง Burlywood พีชพัฟ

บางสีในรหัสเลขฐานสิบหกคือความเข้มของสีแดงสีเขียวและสีน้ำเงิน (RR GG BB):

# 000000 #FFFFFF # FF0000 # 00FF00 # 0000FF # FF0044 # FF4444 # FF9999 #FFCCCCC # 9999FF # FF99FF #DDDDDDD # FFE4C4 # UDP99 # FF8DC # FA8072 # 9980 # 000080 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # 000066 # DAA520 # FFCC33 # FFA500 # C71585 # 8B008B # CC33FF

ตัวเลือกที่เป็นไปได้สำหรับจานสีและรหัส / ชื่อมีให้

การจัดตำแหน่งข้อความและการจัดรูปแบบย่อหน้า

การจัดแนวข้อความ:

จัดข้อความชิดซ้าย

จัดแนวซ้ายด้วยสไตล์

การจัดตำแหน่งด้านซ้ายของย่อหน้า

จัดแนวข้อความกึ่งกลาง

จัดแนวศูนย์ให้มีสไตล์

จัดกึ่งกลางในย่อหน้า

จัดข้อความชิดขอบขวา

จัดแนวที่เหมาะสมกับสไตล์

การจัดตำแหน่งในย่อหน้าทางด้านขวา

จัดแนวข้อความทั้งสองด้าน

จัดแนวทั้งสองด้านอย่างมีสไตล์

การจัดตำแหน่งย่อหน้าทั้งสองด้าน
* การจัดแนวข้อความทั้งสองด้านจะปรากฏขึ้นสำหรับข้อความที่มีความยาวมากกว่าหนึ่งบรรทัด

เชิงอรรถ (ความคิดเห็น) พร้อมการเยื้องย่อหน้า:

[q] อ้างอิงในบรรทัด

อ้างอิงตามคุณสมบัติ


  ข้อความที่ยกมาในบล็อกที่แยกต่างหากซึ่งจะมี
  เยื้องด้านซ้ายขนาดเล็กและการออกแบบพิเศษ (สไตล์ฟอรัม)

ตัวอย่าง:
  Lorem ipsum dolor sit amet
  Lorem ipsum dolor sit amet
  Lorem ipsum dolor sit amet

การจัดรูปแบบย่อหน้าและพื้นที่:

สวัสดี! ในย่อหน้านี้ประโยคแรกจะมาจากสายสีแดงนั่นคือ เว้าแหว่ง เหมือนในแท่นพิมพ์ จริงบนอินเทอร์เน็ตนี่เป็นการฝึกฝนที่หายาก ย่อหน้าควรคั่นด้วยช่องว่าง

  ข้อความที่ฟอร์แมตแล้วไว้จะคงการเยื้องไว้ที่ด้านซ้ายและระหว่างคำและตั้งการเยื้องที่คุณระบุด้วยช่องว่าง คำเตือน! แท็กไม่แบ่งบรรทัดโดยอัตโนมัติ!

การจัดรูปแบบรายการ

ใช้แท็กหรือสำหรับรายการหัวข้อย่อย:

  • หนึ่งในรายการ
  • อีกรายการดังกล่าว
  • อีกจุดหนึ่ง



[*] อีกรายการดังกล่าว
[*] รายการอื่น

สำหรับรายการที่มีหมายเลขกำกับให้ใช้แท็ก:

  1. หนึ่งในรายการ
  2. อีกรายการดังกล่าว
  3. อีกจุดหนึ่ง


[*] หนึ่งในรายการในรายการ
[*] อีกรายการดังกล่าว
[*] รายการอื่น

แท็กปิดเป็นตัวเลือกสำหรับการใช้งาน:

  • หนึ่งในรายการ
  • อีกรายการดังกล่าว
  • อีกจุดหนึ่ง


[*] หนึ่งในรายการในรายการ
[*] อีกรายการดังกล่าว
[*] รายการอื่น

การบ่งชี้โดยตรงของมุมมองรายการก็เป็นไปได้เช่นกัน:
   - รายการหมายเลข
   - รายการตัวอักษร
   - รายการที่มีหมายเลขเป็นตัวเลขโรมัน

ภาพ

Http://img.cx/img/primer.jpg - ตัวอย่างของการแทรกรูปภาพ

Http://img.cx/img/primer.jpg - รูปภาพทางด้านซ้าย

Http://img.cx/img/primer.jpg - รูปภาพทางด้านขวา
* รหัสนี้คล้ายกับรหัส HTML:

Http://img.cx/img/primer.jpg - รูปภาพตรงกลาง
* รหัสนี้คล้ายกับรหัส HTML:

แท็กที่คล้ายกันที่มีชื่อและคำแนะนำเครื่องมือ:

สำคัญ! คุณไม่สามารถใช้เครื่องหมายคำพูดในชื่อของรูปภาพ!

Http://img.cx/img/primer.jpg - ตัวอย่างของการแทรกรูปภาพ

Http://img.cx/img/primer.jpg - รูปภาพทางด้านซ้าย

Http://img.cx/img/primer.jpg - รูปภาพทางด้านขวา

Http://img.cx/img/primer.jpg - รูปภาพตรงกลาง

รูปภาพที่มีขนาดที่ระบุ:

Http://img.cx/img/primer.jpg - ตัวอย่างของรูปภาพที่มีขนาด
* รหัสนี้คล้ายกับรหัส HTML:

Http://img.cx/img/primer.jpg - รูปภาพด้านซ้ายมีขนาด

Http://img.cx/img/primer.jpg - รูปภาพด้านขวามีขนาด

แทรกภาพขนาดใหญ่ด้วยแถบเลื่อน:

Http: //www..jpg - รูปภาพในพื้นที่ที่เลือกถ้ามันใหญ่กว่าขนาดที่แสดงบนฟอรัม

ที่อยู่ - เปิดภาพในหน้าต่างใหม่
* รหัสนี้คล้ายกับรหัส HTML:

ที่อยู่ - เปิดภาพในหน้าต่างเดียวกัน
* รหัสนี้คล้ายกับรหัส HTML:

ฉันจำเป็นต้องใช้ "ล่าม" BBCode เป็นระยะในโครงการของฉัน (เขียนเป็น PHP) และไม่มีเวลาเสมอที่จะมองหาวิธีย่อยที่ย่อยได้มากขึ้นหรือน้อยลงซึ่งท้ายที่สุดก็ส่งผลให้มีการใช้หรือสร้าง "ไม้ค้ำ" สำหรับแต่ละกรณี
  แต่ตอนนี้ดูเหมือนว่าจะพบสิ่งที่ฉันต้องการ

การร้องเรียนของฉันเกี่ยวกับวิธีแก้ปัญหาดังกล่าวมักจะอยู่ในความไม่สามารถของห้องสมุดเหล่านี้ในการประมวลผลย่อหน้าที่เหมาะสม จริงๆแล้วพวกเขามักจะไม่ใช้ย่อหน้าเลย (แท็ก P) แทนที่จะเป็นผลงานของพวกเขาพวกเขาเพียงแค่ใส่แท็ก
แทนที่ตัวแบ่งบรรทัดปกติ ฉันพิจารณาวิธีการจำลองวรรคนี้ร้อยละ 98 ที่จะนำมันอย่างอ่อนโยนไม่เหมาะสม แต่เนื่องจากการตัดบรรทัดอยู่ในความหมาย
  ง่ายกว่ามากที่จะใช้แทน“ มนุษย์”

ในขณะที่พวกเขาส่วนใหญ่ทำ even บางคนถึงกับแก้ตัวว่าพวกเขาบอกว่า br ถูกต้องมากขึ้นส่วนหนึ่งเป็นเพราะความเกียจคร้านของนักพัฒนาของห้องสมุดสำเร็จรูปต่างๆส่วนหนึ่งของคนคิดว่าแท็ก P  ล้าสมัย (หลังจากทั้งหมดแม้จะอยู่ในผลิตภัณฑ์และไซต์สำเร็จรูปจำนวนมากย่อหน้าก็เกิดขึ้นโดยใช้
) 🙂

เริ่มกันเลย

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

ก่อนอื่นคุณต้องดาวน์โหลดไลบรารี่ (ในขณะที่เขียนเวอร์ชั่นไลบรารี่จะเป็น 0.3.3) ในไฟล์เก็บถาวรที่ดาวน์โหลดในโฟลเดอร์ src คุณจะพบไฟล์สองไฟล์ที่เราต้องการ: stringparser.class.php และ stringparser_bbcode.class.php

ตัวอย่างเช่นสมมติว่าเรามีไฟล์ index.php ที่ว่างเปล่าและถัดจากนั้นเราจะสร้างโฟลเดอร์ / bbcode / บรรจุสองไฟล์ดังกล่าวข้างต้น
  ตัวอย่างเช่นเนื้อหาขั้นต่ำของไฟล์“ index.php” ควรเป็นเช่นนี้ (โดยการเรียกใช้ตัวอย่างนี้คุณสามารถดูได้ทันทีว่าไลบรารีทำงานอยู่หรือไม่):

< ?php //Вставляем файл библиотеки require_once "bbcode/stringparser_bbcode.class.php"; //Создаем объект класса StringParser_BBCode $bbcode = new StringParser_BBCode (); //Добавляем объекту класса понятие о тэге [b] //(в итоге только этот тэг и будет //обрабатываться этим классом) $bbcode->addCode ("b", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e " "," end_tag \u200b\u200b"\u003d\u003e"")," inline ", array (" block "," inline "), array ()); // ประมวลผลสตริงการทดสอบและส่งออกไปยังเบราว์เซอร์ echo $ bbcode-\u003e parse (" ข้อความทดสอบคำนี้ควรเป็น [b ] ตัวหนา ");?\u003e

ฟังก์ชัน AddCode

บางทีฟังก์ชั่น addCode ของวัตถุของคลาส StringParser_BBCode อาจทำให้เกิดความสนใจมากที่สุดในรหัสนี้นี่คือต้นแบบและรายการคำอธิบายพารามิเตอร์:

เป็นโมฆะ addCode (สตริงรหัส $, สตริง $ ชนิด, สตริง $ โทรกลับ, สตริง $ params, สตริง $ content_type, อาร์เรย์ $ allow_in อาร์เรย์, $ $ not_allowed_in);

ฟังก์ชั่นนี้จะเพิ่มแนวคิดของรหัสบางอย่าง (รหัส bb) สำหรับวัตถุของคลาสเพื่อให้สามารถตรวจจับรหัสเหล่านี้ในข้อความและประมวลผลตามลำดับในภายหลัง กล่าวคือ เราสามารถพูดได้ว่าเริ่มแรกวัตถุของคลาส StringParser_BBCode ไม่รู้อะไรเกี่ยวกับรหัส bb มาตรฐานและไม่สามารถประมวลผลได้ ดังนั้นหลังจากการเริ่มต้นแต่ละครั้งวัตถุนี้จะต้อง "ผ่านการฝึกอบรม" ในรหัส BB ทุกประเภท

$ code (ในตัวอย่างหมายถึง ‘b’) รหัสที่จะค้นหาในข้อความสำหรับการประมวลผล กล่าวคือ หากคุณระบุรหัสทดสอบแท็กจะถูกค้นหาในข้อความที่ประมวลผลและประมวลผลตามคำแนะนำในพารามิเตอร์อื่น ๆ ของฟังก์ชันที่เป็นปัญหา $ type (ในตัวอย่างมีการตั้งค่า 'simple_replace’) ระบุว่าควรประมวลผลแท็กอย่างไร (เป็นประเภทใด) มีแท็กที่กำหนดไว้ล่วงหน้าหลายประเภทที่จะอธิบายไว้ด้านล่าง ในตัวอย่างของเรามีการระบุประเภท 'simple_replace' ซึ่งระบุว่าแท็กจะถูกจับคู่ (เปิดแท็ก [b] และปิด) และแท็กเหล่านี้จะถูกแทนที่ด้วยแท็ก html ที่ระบุด้านล่าง $ callback (ในตัวอย่างเป็นโมฆะ) ให้คุณระบุชื่อของฟังก์ชันที่จะถูกเรียกเมื่อประมวลผลแท็กที่พบในข้อความ ในกรณีของแท็กประเภท 'simple_replace’ ฟังก์ชันดังกล่าวจะไม่ถูกเรียกใช้และดังนั้นจึงสามารถระบุค่าว่างในพารามิเตอร์นี้ได้ $ params (ในตัวอย่างอาร์เรย์ (‘start_tag’ \u003d\u003e ‘) ‘,‘ End_tag \u200b\u200b’\u003d\u003e‘‘)) พารามิเตอร์นี้ส่วนใหญ่ระบุว่าควรใส่แท็ก html ใดแทนที่จะเป็นแท็ก bb ชื่อของพารามิเตอร์โดยตรงขึ้นอยู่กับประเภทของแท็กที่เราระบุในพารามิเตอร์ $ type $ content_type (ในตัวอย่าง ‘inline’) ประเภทของเนื้อหาภายในของแท็ก สามารถใช้ค่าได้: 'inline', 'block', 'link', 'image' ' หากฉันไม่เข้าใจผิดคุณสามารถลงทะเบียนประเภทของคุณเพื่อให้คุณสามารถระบุตัวกรองเฉพาะสำหรับเนื้อหานี้ (ดูตัวอย่างการใช้ตัวกรองด้านล่าง) $ allow_in (ในตัวอย่างค่าคืออาร์เรย์ (‘block’, ‘inline’)) ในพารามิเตอร์นี้คุณสามารถระบุประเภทของวัตถุที่รหัส bb ที่สร้างขึ้นสามารถอยู่ภายใน (การประมวลผลจะถูกละเว้นอย่างอื่น) ในตัวอย่างของเราเราระบุว่าองค์ประกอบสามารถเป็นได้ทั้งองค์ประกอบภายในบล็อกและภายในองค์ประกอบเชิงเส้น $ not_allowed_in (ในตัวอย่าง array () มีความสำคัญ) มีวัตถุประสงค์ที่ตรงข้ามกับความหมายของพารามิเตอร์ก่อนหน้า

ประเภทของการประมวลผลแท็ก

คำอธิบายของตัวเลือกสำหรับค่าของพารามิเตอร์ $ type ในฟังก์ชั่น addCode

‘Simple_replace’ อธิบายแท็กคู่อย่างง่าย เมื่อใช้การประมวลผลแท็กประเภทนี้พารามิเตอร์ฟังก์ชั่นпарамет params ’ต้องมีสองเซลล์: $ params [‘ start_tag ’] และ $ params [‘ end_tag \u200b\u200b’] ‘Start_tag’ ควรมีอะนาล็อกของแท็กเปิดใน HTML และ ‘end_tag’ - แท็กปิดตามลำดับ ‘Simple_replace_single’ เหมือนกับ ‘simple_replace’ แต่ใช้สำหรับแท็กเดียวเท่านั้นซึ่งจริงๆแล้วไม่มีเนื้อหา (เช่น br, hr ฯลฯ ) ต้องใช้พารามิเตอร์ $ params [‘start_tag’] ‘Callback_replace’ ด้วยประเภทนี้คุณเปลี่ยนการประมวลผลสำหรับการแข่งขันที่พบ (ใช้ฟังก์ชั่นโทรกลับของคุณ) สำหรับแท็กที่จับคู่ ‘Callback_replace_single’ เหมือนกับ ‘callback_replace’ แต่สำหรับแท็กเดียวเท่านั้น ‘Usecontent’ เหมือนกับ ‘callback_replace’ เฉพาะในเนื้อหาของแท็กดังกล่าวแท็กอื่น ๆ จะไม่ถูกประมวลผลเช่นนี้จะสะดวกสำหรับแท็กรหัส ‘Usecontent’ ประเภทนี้สามารถทำงานเช่น like usecontent ’หรือ like‘ callback_replace ’ขึ้นอยู่กับสถานการณ์ ความเกี่ยวข้องของตัวเลือกเฉพาะจะถูกกำหนดโดยการมีอยู่ของคุณลักษณะที่ประเมินไว้ล่วงหน้าในแท็ก bb หากพบแอตทริบิวต์จะใช้การประมวลผล ‘callback_replace’ มิฉะนั้นแท็กจะถูกประมวลผลเป็น ‘usecontent’ ชื่อแอตทริบิวต์สำหรับการค้นหาถูกระบุผ่านพารามิเตอร์ $ params [‘usecontent_param’] หากระบุค่าเริ่มต้นจะมีการกำหนดค่าแอตทริบิวต์ให้กับแท็กโดยตรงเช่นค่าของแอตทริบิวต์เริ่มต้นจะเป็นข้อความ "http: // link" เทคนิคนี้มักใช้เช่นสำหรับแท็ก แท็กนี้สามารถใช้ได้ในสองรูปแบบ: http://www.example.com/ และ Link text รวมถึง [b] ข้อความตัวหนา ในกรณีแรกประเภท "usecontent" จะถูกใช้เพราะ ข้อความลิงค์ควรแสดงโดยไม่มีการจัดรูปแบบใด ๆ (และอันที่จริงแล้วลิงก์เองจะไม่ถูกต้องหากมีอักขระที่ไม่เกี่ยวข้อง) ในอีกกรณีหนึ่งควรใช้ back callback_replace ’เพราะ ลิงก์นั้นถูกส่งเป็นพารามิเตอร์แยกต่างหากและข้อความในกรอบลิงก์อาจมีการจัดรูปแบบบางอย่าง
หมายเหตุ: คุณสามารถระบุพารามิเตอร์หลายรายการสำหรับการค้นหาของพวกเขาซึ่งใน $ params [‘usecontent_param’] คุณต้องผ่านไม่ใช่สตริง แต่เป็นอาร์เรย์ที่มีสตริง ตัวอย่างเช่น: $ bbcode-\u003e addCode (... , อาร์เรย์ (‘usecontent_param’ \u003d\u003e อาร์เรย์ (‘parameter1’, ‘parameter2’)), ... ); ‘Callback_replace?’ ตรงกันข้ามกับ ‘usecontent ใช่ไหม’ หากหนึ่งในแอตทริบิวต์ที่ระบุใน usecontent_param เกิดขึ้นในแท็กนั้นจะถูกประมวลผลเป็น "usecontent" หรือมิฉะนั้นเป็น "callback_replace"

โค้ดตัวอย่างจากเงื่อนไข "การต่อสู้"

นี่คือตัวอย่างไฟล์ index.php ที่มีการกำหนดค่าระดับสูงขึ้นสำหรับการประมวลผลแท็กจำนวนมากขึ้นนอกจากนี้ยังเป็นไปได้ที่จะเข้าใจการทำงานของฟังก์ชั่นการโทรกลับเป็นต้น

< ?php //Вставляем файл библиотеки require_once "bbcode/stringparser_bbcode.class.php"; //Приводит разнообразные переводы строк //разных операционных систем в единый формат (\n) function convertlinebreaks ($text) { return preg_replace ("/\015\012|\015|\012/", "\n", $text); } //Удалить все символы, кроме переводов строк function bbcode_stripcontents ($text) { return preg_replace ("/[^\n]/", "", $text); } //Функция для обработки ссылок function do_bbcode_url ($action, $attributes, $content, $params, $node_object) { if (!isset ($attributes["default"])) { $url = $content; $text = htmlspecialchars ($content); } else { $url = $attributes["default"]; $text = $content; } //Часть функции, которая занимается //только валидацией данных тэга if ($action == "validate") { if (substr ($url, 0, 5) == "data:" || substr ($url, 0, 5) == "file:" || substr ($url, 0, 11) == "javascript:" || substr ($url, 0, 4) == "jar:") { return false; } return true; } //Непосредственное преобразование тэга в //html вариант с возвращением результата return "". $ text." ";) // ฟังก์ชั่นสำหรับใส่รูปภาพฟังก์ชั่น do_bbcode_img ($ action, $ attribute, $ attribute, $ content, $ params, $ node_object) (// ส่วนหนึ่งของฟังก์ชั่นที่ // ตรวจสอบความถูกต้องของข้อมูล การกระทำ \u003d\u003d "ตรวจสอบ") (ถ้า (substr ($ content, 0, 5) \u003d\u003d "data:" | | substr ($ content, 0, 5) \u003d\u003d "ไฟล์:" | | substr ($ content, 0 , 11) \u003d\u003d "javascript:" || substr ($ content, 0, 4) \u003d\u003d "jar:") (return false;) return true;) // แปลงแท็กเป็น // html โดยตรงด้วยการส่งคืนผลลัพธ์ " ";) // สร้างวัตถุของคลาส StringParser_BBCode $ bbcode \u003d StringParser_BBCode ใหม่ (); // เพิ่มตัวกรอง (สำหรับรายละเอียดเพิ่มเติมดูเอกสารประกอบ), / โดยใช้ฟังก์ชั่นของเราการแปลงบรรทัดซึ่งจะ // แปลงตัวดึงข้อมูลบรรทัดเป็นข้อความ $ bbcode เดียว -\u003e addFilter (STRINGPARSER_FILTER_PRE, "convertlinebreaks"); // เพิ่มเครื่องมือแยกวิเคราะห์ของเราสำหรับวัตถุประเภทต่างๆ // (สำหรับรายละเอียดเพิ่มเติมดูเอกสารประกอบ) // เราระบุว่าฟังก์ชันใดที่เนื้อหาของแท็กเหล่านี้ควรทำผ่านฟังก์ชัน // htmlspecialchars เพื่อป้องกัน XSS, ฯลฯ $ bbcode-\u003e addParser (อาร์เรย์ ("บล็อก", "อินไลน์", "ลิงก์", "รายการ"), "htmlspecialchars"); $ bbcode-\u003e addParser (อาร์เรย์ (" บล็อก "," อินไลน์ "," ลิงก์ ", "listitem"), "nl2br"); $ bbcode-\u003e addParser ("list", "bbcode_stripcontents"); // เพิ่มรหัส bb ที่ใช้เป็น: // ข้อความของส่วนหัวระดับแรก $ bbcode-\u003e addCode ("h1 "," simple_replace ", , อาร์เรย์ (" start_tag "\u003d\u003e"

"," end_tag \u200b\u200b"\u003d\u003e"

")," บล็อก ", อาร์เรย์ (" listitem "," บล็อก "," ลิงก์ "), อาร์เรย์ ()); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: // ข้อความส่วนหัวระดับที่สอง $ bbcode-\u003e addCode ( "h2", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e "

"," end_tag \u200b\u200b"\u003d\u003e"

")," บล็อก ", อาร์เรย์ (" listitem "," บล็อก "," ลิงก์ "), อาร์เรย์ ()); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: // ข้อความส่วนหัวระดับที่สาม $ bbcode-\u003e addCode ( "h3", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e "

"," end_tag \u200b\u200b"\u003d\u003e"

")," บล็อก ", อาร์เรย์ (" listitem "," บล็อก "," ลิงก์ "), อาร์เรย์ ()); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: // ข้อความของส่วนหัวระดับที่สี่ $ bbcode-\u003e addCode ( "h4", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e "

"," end_tag \u200b\u200b"\u003d\u003e"

")," บล็อก ", อาร์เรย์ (" listitem "," บล็อก "," ลิงก์ "), อาร์เรย์ ()); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: // ข้อความของส่วนหัวระดับที่ห้า $ bbcode-\u003e addCode ( "h5", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e "
"," end_tag \u200b\u200b"\u003d\u003e"
")," บล็อก ", อาร์เรย์ (" listitem "," บล็อก "," ลิงก์ "), อาร์เรย์ ()); // เพิ่มรหัส bb ที่ใช้เป็น: // ข้อความของส่วนหัวระดับที่หก $ bbcode-\u003e addCode ( "h6", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e "
"," end_tag \u200b\u200b"\u003d\u003e"
")," บล็อก ", อาร์เรย์ (" listitem "," block "," link "), array ()); // ตั้งค่าสถานะสำหรับรหัส bb จาก h1 ถึง h6, // ระบุว่าพวกเขาเป็นองค์ประกอบบล็อก // ซึ่งจะเป็นประโยชน์ต่อสมาร์ท // รุ่นของโค้ด html ตัวอย่างเช่นองค์ประกอบไม่สามารถ // อยู่ในองค์ประกอบบล็อกอื่น ๆ $ bbcode-\u003e setCodeFlag ("h1", "ย่อหน้า _type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); $ bbcode -\u003e setCodeFlag ("h2", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); $ bbcode-\u003e setCodeFlag_B_HOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK_BLOCK] bbcode-\u003e setCodeFlag ("h5", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); $ bbcode-\u003e setCodeFlag ("h6", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); // od [b] ถูกนำมาใช้ในรูปแบบ: // [b] ข้อความที่เลือก $ bbcode-\u003e addCode ( "ข", "simple_replace" โมฆะ array ( "START_TAG" \u003d\u003e " "," end_tag \u200b\u200b"\u003d\u003e"")," inline ", array (" listitem "," block "," inline "," link "), array ()); // เพิ่มรหัส bb [i] ที่ใช้ในรูปแบบ: // [i] ข้อความเอียง $ bbcode-\u003e addCode ("i", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e " "," end_tag \u200b\u200b"\u003d\u003e"")," inline ", array (" listitem "," block "," link "," link "), array ()); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: // http: // www needsite.domain และ // ลิงก์ข้อความ $ bbcode-\u003e addCode ("url", "usecontent?", "do_bbcode_url", อาร์เรย์ ("usecontent_param" \u003d\u003e "ค่าเริ่มต้น"), "ลิงก์", อาร์เรย์ ("listitem", " block "," inline "), array (" link ")); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: //http://www.needsite.domain $ bbcode-\u003e addCode (" link "," callback_replace_single "," do_bbcode_url ", array ()," link ", array (" listitem "," block "," inline "), array (" link ")); // เพิ่มรหัส bb ที่ใช้ในรูปแบบ: // http: //www.needsite.domain/img.jpg $ bbcode-\u003e addCode ("img", "usecontent", "do_bbcode_img", array (), "image", array ("listitem", "block", " inline "," link "), array ()); // เพิ่ม bb-code (ในความหมายเดียวกัน // เป็น) ที่ใช้ในรูปแบบ: //http://www.needsite โดเมน / img.jpg $ bbcode-\u003e addCode ("bild", "usecontent", "do_bbcode_img", อาร์เรย์ (), "image", array ("listitem", "บล็อก", "ลิงก์", "ลิงก์"), อาร์เรย์ ()); // สร้างกลุ่มรูปภาพจากรหัส bb img และ bild // เพื่อความเป็นไปได้ในการตั้งค่า // กฎบางอย่างสำหรับกลุ่มเหล่านี้ $ bbcode-\u003e setOccurrenceType ("img", "image"); $ bbcode-\u003e setOccurrenceType ("bild", "image"); // เราระบุว่าแท็กจากรูปภาพ // กลุ่มสามารถเกิดขึ้นได้ (ถูกประมวลผล) ในข้อความไม่เกิน // สองครั้ง ในกรณีของเราสิ่งนี้เป็นสิ่งจำเป็นเพื่อให้ผู้ใช้ // ไม่สามารถแทรกรูปภาพ // มากกว่าสองภาพลงในข้อความข้อความ $ bbcode-\u003e setMaxOccurrences ("image", 2); // เพิ่มรหัส bb $ bbcode-\u003e addCode ("รายการ", "simple_replace", , อาร์เรย์ ("start_tag" \u003d\u003e "
    "," end_tag \u200b\u200b"\u003d\u003e"
")," list ", array (" block "," listitem "), array ()); // เพิ่มรหัส bb [*] เพื่อระบุว่าแท็กนี้ // สามารถใช้ได้ภายในแท็ก // พร้อมรายการประเภท (เรากำหนดประเภทนี้ให้กับแท็กด้านบน) $ bbcode-\u003e addCode ("*", "simple_replace", , array ("start_tag" \u003d\u003e "
  • "," end_tag \u200b\u200b"\u003d\u003e"
  • ")," listitem ", array (" list "), array ()); // ตั้งค่าสถานะสำหรับแท็กและ [*] // ระบุว่าสำหรับรหัส [*] แท็กปิด // เป็นตัวเลือกจึงเป็นไปได้ จะมี // โครงสร้างต่อไปนี้: // // [*] รายการ // [*] รายการ // // แท็กปิดจะถูกเพิ่มโดยอัตโนมัติ // ในกระบวนการสร้างรหัส html $ bbcode-\u003e setCodeFlag ("*", "closetag", BBCODE_CLOSETAG_OPTIONAL); // ตามที่ฉันเข้าใจแล้วธงนี้หมายความว่าแท็ก [*] // สามารถใช้ได้เฉพาะ // ในตอนเริ่มต้นบรรทัดใหม่ $ bbcode-\u003e setCodeFlag ("*", "ย่อหน้า", จริง); // เป็นองค์ประกอบบล็อกของ $ bbcode-\u003e setCodeFlag ("รายการ", "ย่อหน้า_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); // ก่อนแท็กเปิด // ตัวละครบรรทัดจะถูกลบ $ bbcode-\u003e setCodeFlag ("รายการ", "opentag.before.newline", BBCODE_NEWLINE_DROP); // ก่อนแท็กปิด // ตัวอักษรบรรทัดจะถูกลบ $ bbcode-\u003e setCodeFlag ("รายชื่อ", "ตู้เสื้อผ้า" .before.newline ", BBCODE_NEWLINE_DROP); // ดังนั้นเราสามารถใช้รายการในรหัส bb // ใช้รายการและแท็ก * ร่วมกัน: // // [*] องค์ประกอบรายการ // [*] องค์ประกอบรายการ // [ *] ฯลฯ // // เปิดใช้งานการประมวลผลย่อหน้า $ bbcode-\u003e setRootParagraphHandling (true); // ตามที่ฉันเข้าใจแล้วนี่เป็นการระบุ // ตัวอักษรที่คุณต้องการแทนที่ตัวแบ่งบรรทัดที่พบในย่อหน้า // (ในสาระสำคัญวิธีจัดการย่อหน้าที่ว่างเปล่า) $ bbcode-\u003e setParagraphHandlingParameters ("\\ n", ""); $ res_text \u003d "ทดสอบข้อความ [b] เพื่อทดสอบการทำงานของชั้นเรียน"; // ในกรณีที่เราลบตัวแบ่ง // ที่เหลือทั้งหมดในรูปแบบ "\\ r", // หากยังคงอยู่ในข้อความ $ res_text \u003d str_replace ("\\ r", "", $ res_text); // Voila! echo $ bbcode-\u003e parse ($ res_text);

    เล่ม

    แน่นอนว่าฉันไม่ได้ทำการแปลเอกสารทั้งหมด แต่เพียงขั้นต่ำที่จำเป็นที่สุดสำหรับเอกสารรายละเอียดเพิ่มเติมที่คุณสามารถอ้างถึงเว็บไซต์ทางการ (โดยทั่วไปมีความเป็นไปได้ที่แตกต่างกันมากอธิบายไว้)

    ไลบรารี่นี้ก็ไม่ยากที่จะนำไปใช้ในเฟรมเวิร์ก php ใด ๆ ตัวอย่างเช่นฉันได้ทำสิ่งนี้สำเร็จสำหรับ cackePHP

    หากคุณเคยเห็นห้องสมุดที่คล้ายกัน (ทำงานอย่างถูกต้องกับย่อหน้า! 🙂) มันน่าสนใจที่จะรู้เกี่ยวกับพวกเขา

    การเข้า

    bbcode คืออะไร BBCode เป็นการใช้งานพิเศษของภาษา HTML ที่ให้คุณสมบัติที่สะดวกยิ่งขึ้นสำหรับการจัดรูปแบบข้อความ ความสามารถในการใช้ BBCode ในข้อความถูกกำหนดโดยผู้ดูแลบอร์ด นอกจากนี้คุณสามารถปิด BBCode ได้ตลอดเวลาในข้อความที่โพสต์โดยตรงจากแบบฟอร์มการเขียน BBCode นั้นคล้ายกับ HTML แต่มีแท็กอยู่ในวงเล็บเหลี่ยม [... ] และไม่ได้อยู่ใน< … >. เมื่อใช้เทมเพลตบางตัวคุณสามารถเพิ่ม BBCode ลงในข้อความโดยใช้ส่วนต่อประสานแบบง่ายที่อยู่ด้านบนฟิลด์ป้อนข้อความ แต่ถึงอย่างนั้นการอ่านคู่มือเล่มนี้อาจเป็นประโยชน์กับคุณ

    การจัดรูปแบบข้อความ

    วิธีทำให้ข้อความเป็นตัวหนาตัวเอียงหรือขีดเส้นใต้   BBCode มีแท็กสำหรับการเปลี่ยนสไตล์ของเนื้อความอย่างรวดเร็ว คุณสามารถทำได้ด้วยวิธีต่อไปนี้:
    • หากต้องการทำให้ข้อความเป็นตัวหนาให้ใส่ไว้ในแท็ก [b]. ตัวอย่าง:

      [b]สวัสดี

      จะให้ออก สวัสดี

    • ใช้แท็กที่ขีดเส้นใต้ [u]. ตัวอย่าง:

      [u]สวัสดีตอนเช้าค่ะ

      จะให้ออกตอนเช้าที่ดี

    • ตัวเอียงทำด้วยแท็ก [I]. ตัวอย่าง:

      มันคือ [I]ที่ดี!

      มันจะให้ ที่ดี!

    จะเปลี่ยนสีหรือขนาดของข้อความได้อย่างไร?   แท็กต่อไปนี้สามารถใช้ในการเปลี่ยนสีหรือขนาดตัวอักษร (ลักษณะสุดท้ายจะขึ้นอยู่กับระบบและเบราว์เซอร์ของผู้ใช้):
    • คุณสามารถเปลี่ยนสีของข้อความโดยล้อมรอบด้วยแท็ก . คุณสามารถระบุชื่อสีที่รู้จักกันดี (แดงน้ำเงินเหลือง ฯลฯ ) หรือการแสดงเลขฐานสิบหก (#FFFFFF, # 000000 เป็นต้น) ดังนั้นในการสร้างข้อความสีแดงคุณสามารถใช้:

      สวัสดี!

      สวัสดี!

      ทั้งสองวิธีจะส่งผลให้ Hello!

    • การปรับขนาดทำได้ในลักษณะเดียวกันเมื่อใช้แท็ก . แท็กนี้ขึ้นอยู่กับเทมเพลตที่ใช้ แต่รูปแบบที่แนะนำคือค่าตัวเลขที่แสดงขนาดของข้อความเป็นเปอร์เซ็นต์ตั้งแต่ 20 (เล็กมาก) ถึง 200 (ใหญ่มาก) ของขนาดเริ่มต้น ตัวอย่าง:

      FINE

      ส่วนใหญ่มีแนวโน้มที่จะให้ค่าปรับ

      ในขณะที่:

      ใหญ่มาก!

      จะให้ใหญ่มาก!

    สามารถรวมแท็กการจัดรูปแบบได้หรือไม่   ใช่แน่นอนคุณสามารถ ตัวอย่างเช่นเพื่อดึงดูดความสนใจคุณสามารถเขียน:

    [b]มองมาที่ฉัน!

    สิ่งที่จะให้ออก มองมาที่ฉัน!

    [b] [u]รายการนี้ไม่ถูกต้อง

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

    การอ้างอิงข้อความในการตอบกลับ   มีสองวิธีในการอ้างอิงข้อความ: โดยมีข้อบ่งชี้ของผู้เขียนและไม่มีข้อบ่งชี้
    • เมื่อใช้ปุ่มอ้างเพื่อตอบกลับข้อความข้อความจะถูกเพิ่มไปยังฟิลด์ป้อนข้อความที่ล้อมรอบด้วยแท็ก . วิธีนี้อนุญาตให้คุณอ้างอิงโดยอ้างอิงกับผู้แต่งหรืออย่างอื่นที่คุณพิมพ์ในเครื่องหมายคำพูด ตัวอย่างเช่นการอ้างถึงข้อความที่เขียนโดย Mr. Blobby พิมพ์:

      ป้อนข้อความจากนายที่นี่ Blobby

      ดังนั้นก่อนที่คุณจะตอบกลับข้อความจะมีข้อความ“ นาย Blobby เขียนว่า: " จำ เป็นสิ่งที่จำเป็น  ใส่ชื่อในเครื่องหมายคำพูด ("") ซึ่งไม่สามารถตัดออกได้

    • วิธีที่สองช่วยให้คุณพูดอะไรบางอย่าง เมื่อต้องการทำสิ่งนี้ให้ใส่ข้อความระหว่างแท็ก . เมื่อดูข้อความข้อความนี้จะอยู่ในบล็อกอ้างอิง
    โค้ดหรือการจัดรูปแบบข้อความ   หากคุณต้องการแสดงส่วนของรหัสโปรแกรมหรืออย่างอื่นที่ควรแสดงในแบบอักษรที่มีความกว้างคงที่ (Courier) ให้ใส่ข้อความในแท็ก . ตัวอย่าง:

    echo "นี่คือรหัสโปรแกรม";

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

    สร้างรายการ

    สร้างรายการสัญลักษณ์แสดงหัวข้อย่อย   BBCode รองรับรายการสองประเภท: สัญลักษณ์แสดงหัวข้อย่อยและลำดับเลข พวกเขาเกือบจะเหมือนกับ HTML เทียบเท่า ในรายการหัวข้อย่อยองค์ประกอบทั้งหมดจะถูกแสดงตามลำดับแต่ละรายการจะถูกทำเครื่องหมายด้วยสัญลักษณ์เครื่องหมาย ใช้แท็กเพื่อสร้างรายการสัญลักษณ์แสดงหัวข้อย่อย   และกำหนดแต่ละองค์ประกอบของรายการด้วย [*] . ตัวอย่างเช่นหากต้องการแสดงสีโปรดของคุณคุณสามารถใช้:


    [*] สีแดง
    [*] สีน้ำเงิน
    [*] สีเหลือง

    สิ่งนี้จะสร้างรายการดังนี้:

    • สีแดง
    • สีน้ำเงิน
    • สีเหลือง
    สร้างรายการที่มีหมายเลข   รายการประเภทที่สอง - กำหนดหมายเลขช่วยให้คุณเลือกสิ่งที่จะแสดงก่อนหน้าแต่ละองค์ประกอบ ใช้แท็กเพื่อสร้างรายการที่มีหมายเลข หรือ   เพื่อสร้างรายการตัวอักษร เช่นเดียวกับรายการสัญลักษณ์หัวข้อย่อยรายการถูกกำหนดโดยใช้ [*] . ตัวอย่าง:


    [*] ไปที่ร้าน
    [*] ซื้อคอมพิวเตอร์เครื่องใหม่
    [*]

    จะผลิตดังต่อไปนี้:

    1. ไปที่ร้าน
    2. ซื้อคอมพิวเตอร์เครื่องใหม่
    3. ดุคอมพิวเตอร์เมื่อมีข้อผิดพลาดเกิดขึ้น
    สำหรับรายการตัวอักษรให้ใช้รายการต่อไปนี้:


    [*] คำตอบแรกที่เป็นไปได้
    [*] คำตอบที่เป็นไปได้ที่สอง
    [*] คำตอบที่เป็นไปได้ที่สาม

    สิ่งที่จะให้ออก

    1. คำตอบแรกที่เป็นไปได้
    2. คำตอบที่เป็นไปได้ที่สอง
    3. คำตอบที่เป็นไปได้ที่สาม

    การสร้างลิงก์

    ลิงค์ไปยังเว็บไซต์อื่น   phpBB สนับสนุนการสร้างลิงก์หลายวิธีหรือที่เรียกว่า URL
    เช่นเดียวกับแท็ก BBCode อื่น ๆ คุณสามารถเชื่อมโยงแท็กอื่น ๆ ได้ ตัวอย่างเช่น   (ดูย่อหน้าถัดไป) [b] เป็นต้น เช่นเดียวกับการจัดรูปแบบแท็กการวางแท็กที่ถูกต้องนั้นขึ้นอยู่กับคุณ ตัวอย่างเช่นรายการต่อไปนี้:

    http://www.teosofia.ru/my-picture.gif

    ไม่ถูกต้องซึ่งอาจนำไปสู่การลบข้อความของคุณในภายหลัง ระวังตัวด้วย