BBCode รองรับหลายวิธีในการสร้าง URL

  • อันแรกใช้แท็ก หลังจากเครื่องหมาย = URL ที่ต้องการจะต้องปรากฏขึ้น ตัวอย่างเช่น หากต้องการลิงก์ไปยัง phpBB.com คุณสามารถใช้:

    เยี่ยมชม phpBB!

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

    http://www.phpbb.com/

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

    [ป้องกันอีเมล]

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

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

http://www.phpbb.com/images/phplogo.gif

ผิดซึ่งอาจส่งผลให้โพสต์ของคุณถูกลบ ดังนั้นควรระมัดระวัง

ไปที่: เลือกฟอรัมการวางแผนการตั้งครรภ์ เอาเถอะ...อยากมีลูก! วางแผนที่จะใช้... วางแผนพูดคุย ต้องการ - ผู้ให้ความบันเทิง สมุดบันทึกการวางแผนการตั้งครรภ์ การตั้งครรภ์ คนพูดคุยเรื่องหญิงตั้งครรภ์ การเลือกชื่อสำหรับเด็ก จดหมายเหตุของส่วนการตั้งครรภ์ สุขภาพของสตรีมีครรภ์และเด็ก โรงพยาบาลคลอดบุตรและคลอดบุตร ขอแสดงความยินดีกับการคลอดบุตร การสนทนาของโรงพยาบาลคลอดบุตร หน้าแรก การคลอดบุตร เด็ก - การดูแลเด็ก โภชนาการ และ... ดูแลเด็ก เกี่ยวกับอาหาร ครบเครื่องเรื่องอาหารเด็ก พูดคุยเกี่ยวกับผลิตภัณฑ์สำหรับเด็ก -... การเลี้ยงลูกด้วยนมแม่ การดูแลลูกน้อย ที่เก็บฟอรั่ม ที่เก็บฟอรั่ม ผลิตภัณฑ์สำหรับเด็ก สุขภาพเด็กและยาสำหรับ... การฉีดวัคซีน เด็กอื่นๆ ทันตกรรมเด็ก โรคภูมิแพ้ ผิวหนังวิทยา Immm... การอภิปรายเกี่ยวกับสถาบันการแพทย์... ลูกๆ ของเรา การสื่อสารระหว่างคนรอบข้าง... ชมรมฝาแฝด แฝดสาม และอื่นๆ... เรื่องที่ดิน พี่น้องที่มีลูกหลายคน การเลี้ยงลูก ความสัมพันธ์ในครอบครัว... พัฒนาการและการศึกษาของเด็ก งานฝีมือ - เราสร้างร่วมกับเด็ก ๆ หนังสือเด็ก ภาพยนตร์ นิทานเสียง แวดวง ชมรม และศูนย์การศึกษา จะไปที่ไหนกับลูกของคุณ เด็ก... โรงเรียนอนุบาลและพี่เลี้ยงเด็ก โรงเรียนอนุบาลโนโวซีบีสค์: ที่อยู่... กีฬาสำหรับเด็ก โรงเรียนและเด็กนักเรียน มหาวิทยาลัยและวิทยาลัย...การศึกษาครอบครัว โรงเรียนและโรงยิมภายนอกของโนโวซีบีร์สค์และ... เอกสารสำคัญของแผนกโรงเรียน เด็กรับเลี้ยงบุตรบุญธรรม การรับเป็นบุตรบุญธรรม. การ์เดี้ยน... กระดานสนทนาประวัติส่วนตัว... วัยรุ่น เด็กและวัยแรกรุ่น บ้านและครอบครัว ทุกอย่างเกี่ยวกับอสังหาริมทรัพย์ บ้าน อพาร์ทเมนต์... ซ่อมแซมและตกแต่งภายใน ก่อสร้างบ้าน อู่ซ่อมรถ บาร์... สมาคมสิบมามาเดชา โอกอร์... ตลาดในประเทศ. สินค้าสำหรับสวน ... สวนและสวนผัก (เมล็ดพันธุ์ต้นกล้า ... สวนไซบีเรีย - ธีมของผู้เขียน สวนดอกไม้ของเรา เราหารือเกี่ยวกับกระท่อมฤดูร้อน - สวน... เอกสารเก่าของฟอรัมกระท่อมฤดูร้อน การดูแลทำความสะอาด ทุกอย่างเกี่ยวกับวันหยุดและของขวัญ ปีใหม่!!! ทุกอย่างเกี่ยวกับการเตรียมตัวสำหรับ... ช้อปปิ้งสำหรับบ้าน เก็บฟอรั่มการดูแลทำความสะอาด เก็บฟอรั่ม ฟอรั่มงานแต่งงานปีใหม่ ประกาศงานแต่งงาน (ก่อน) ฟอรั่มการทำอาหาร ม็อบแฟลชทำอาหาร ขนม เบเกอรี่ การเตรียมการ - ผักดอง แยม ม... ไปที่ ร้านขายอาหาร เครื่องครัว - จานและอุปกรณ์ เก็บถาวรการทำอาหาร งานอดิเรก นักสะสม โต๊ะ... ชมรมคนรักตุ๊กตา เรื่อง Kinder - ของสะสม... สัตว์ แมว สุนัข ประกาศ สัตว์ การจัดซื้อ... ช่วยเหลือสัตว์ คลังฟอรัมเกี่ยวกับสัตว์เลี้ยง ดอกไม้และพืชบ้าน ตลาดดอกไม้ ประกาศเกี่ยวกับ ... สีม่วง, Saintpaulias, gloxinias และ... ภาพถ่าย สวนดอกไม้ หอจดหมายเหตุของฟอรั่มดอกไม้ หัตถกรรม การตัดเย็บ - เทคนิค ลวดลาย การอภิปราย... การถักและโครเชต์ - รูปแบบ... เย็บปักถักร้อย Brags ของเข็มผู้หญิง อุปกรณ์สำหรับงานเย็บปักถักร้อย สมุดภาพ เดคูพาจ ม้วนกระดาษ งานเย็บปะติดปะต่อกัน งานควิลท์ - งานเย็บปะติดปะต่อกัน .. เก็บถาวรหมวดหัตถกรรม อุปกรณ์หัตถกรรม (ก่อน) ประกาศ... ชีวิตครอบครัว พี่น้องพ่อ เกี่ยวกับเรื่องเพศ (18+) ฟอรั่มรูปภาพ ทุกอย่างเกี่ยวกับภาพถ่าย ฟอรั่มยานยนต์ คลังข้อมูลอัตโนมัติ การเดินทางและการท่องเที่ยว โรงแรมและซา... รัสเซียและประเทศเพื่อนบ้าน... ไซบีเรียและอัลไต กิจกรรมนันทนาการที่กระตือรือร้น... ตุรกี - อันตัลยา, มาร์มาริส, Sta... ทะเล - ไทย, เวียดนาม, จีน, ... ก่อนส่วนการเดินทาง ที่อยู่อาศัย...ความงามและการดูแล แฟชั่นและสไตล์ สุขภาพ... การดูแลร่างกายและใบหน้า คอสเมโทโล...ดูแลเส้นผม ทรงผมให้เข้ารูป! กีฬาและการออกกำลังกาย ปล...การรักษาและสุขภาพของผู้ใหญ่ ที่รัก... แฟชั่นและสไตล์ การอภิปรายเกี่ยวกับแนวโน้ม การซื้อที่ประสบความสำเร็จ ชมรมคนรักน้ำหอม การดื่มน้ำหอม เก็บถาวรความงามทั่วไป งาน พักผ่อน. คำถามทั่วไป เกี่ยวกับทุกสิ่งในโลกทุกวันนี้ การใช้ชีวิต การศึกษาด้านกฎหมาย การธนาคารและการเงิน การงานและการฝึกอบรม มันน่ากลัวขนาดไหน สำหรับผู้ใหญ่ ธุรกิจของคุณเอง ฟอรั่มสำหรับนักธุรกิจหญิง เสนอซื้อ/ขายข... เกี่ยวกับความศรัทธา วัฒนธรรมชีวิต วิทยาศาสตร์ และชีวิต ความบันเทิง อารมณ์ขัน, เรื่องตลก Ig... รู้จักตัวเอง: จิตวิญญาณและร่างกาย... ชีวิตของ Sibmama การสนทนาเกี่ยวกับเว็บไซต์และฟอรัม Club Sibmama ส่วนลดในโนโวซีบีร์... ทดลองขับ Sibmama สถานที่นัดพบ การแข่งขัน หนังสืออ้างอิง ที่เก็บถาวรของฟอรัม ที่เก็บถาวรของฟอรัม Sibmama สถานที่ประชุม การเก็บถาวรแบบสำรวจความคิดเห็น ฟอรัมสีเขียว เก็บถาวรแกดเจ็ต เก็บถาวร ผู้ปกครองเพื่อการกุศล... รวบรวมความช่วยเหลือสำหรับเด็กป่วย แม่ต้องการความช่วยเหลือ เก็บถาวรของฟอรัมการกุศล ฟอรั่มสำหรับเมืองและประเทศอื่น ๆ มารดาชาวต่างชาติและผู้ที่พร้อม... มารดาพี่น้องในมอสโก ภูมิภาค ฟอรั่มของแม่และพ่อครัสโนยาสค์ ฟอรั่มของแม่และพ่อ Tomsk Omsk Sibmoms สื่อสารที่นี่ :) ฟอรั่มของแม่และพ่อ Novokuznetsk ฟอรั่มของแม่และพ่อ Kemerovo เอกสารสำคัญของภูมิภาค เอกสารเก่าของส่วน Omsk โซซี, ครัสโนดาร์และภาคใต้อื่น ๆ ... บาร์นาอุล และ ดินแดนอัลไต Barnaul และดินแดนอัลไต - razgo... การก่อสร้างและปรับปรุง ใน Barnaul และ A... บริการทำความสะอาด ใน Barnaul ... สุขภาพสำหรับผู้ใหญ่ใน Barnaul Barnaul วันหยุดของเรา เรื่องของสุภาพสตรี ความงาม การดูแล ... การท่องเที่ยวและการท่องเที่ยว ชาวบาร์นาอูล สัตว์และพืช f... ชีวิตทางวัฒนธรรมใน Barnaul สำหรับ... เอกสารสำคัญของส่วน Barnaul การตั้งครรภ์และการคลอดบุตรในเด็ก Barnaul Altai - ทั้งหมดเกี่ยวกับการเลี้ยง... กีฬาสำหรับเด็กใน Barnaul และ Alta... โรงเรียนอนุบาล โรงเรียน มหาวิทยาลัย วิทยาลัย ... สุขภาพของลูกหลานของเรา - Barnaul Archive เด็กอัลไต ค่ายเด็ก - ฤดูร้อน พริชโก... ป้ายประกาศใน Barnaul Barnaul DO เสื้อผ้าและสินค้าอื่นๆ... Barnaul DO รองเท้าสำหรับเด็ก Barnaul DO เสื้อผ้าเด็ก Barnaul DO ผลิตภัณฑ์สำหรับเด็กบาร์นาอูล DO รองเท้าสำหรับผู้ใหญ่ Barnaul DO เสื้อผ้าสำหรับผู้ใหญ่ Barnaul DO อสังหาริมทรัพย์ Barnaul DO ขายสัตว์และ...บาร์นาอูล K เฟอร์นิเจอร์และอุปกรณ์เสริม Barnaul. DO ทำงานและบริการ DO ดูแลความงามและร่างกายใน Ba... Barnaul ก่อนติววงกลม...บาร์นาอูล ร้านขายหนังสือมือสอง - BEFORE Books และ... แจกฟรีครับ โฆษณาใน Barnaul ซื้อของต่างๆ ใน ​​Barnaul อ้อ... บาร์นาอูลร่วมซื้อ... บาร์นาอูล JV เสื้อผ้า (สำหรับผู้ใหญ่และ... Barnaul รองเท้า JV ร้านจำหน่ายเครื่องแต่งกายบุรุษ... Barnaul JV สินค้าอื่นๆ Barnaul ประสบความสำเร็จในการร่วมทุน sandbox ใน Biysk การซื้อร่วมของ Hobby Club... Barnaul ข้อเสนอเชิงพาณิชย์... กระดานข่าว Novosibirsk สินค้าสำหรับเด็ก ( DO) ในโนโวซีบีสค์ เสื้อผ้าสำหรับทารกอายุไม่เกินหนึ่งปี (มากถึง... เสื้อผ้าสำหรับเด็กก่อนวัยเรียน (จาก 86... สินค้าสำหรับเด็กนักเรียน (จาก 122... .การขนส่งสำหรับเด็กรถเข็นเด็กและรถยนต์...เฟอร์นิเจอร์สำหรับเด็ก ( TO) สินค้าสำหรับบ้านและครอบครัว (TO) เสื้อผ้าสำหรับผู้ใหญ่ (TO) สินค้าสำหรับคนมีครรภ์และการให้นมบุตร... รองเท้าสำหรับผู้ใหญ่ (TO) ยานยนต์ TO งานทำมือ ( DO) - งานแฮนด์เมด.... เฟอร์นิเจอร์และสินค้าขนาดใหญ่.. . เครื่องใช้ในครัวเรือน คอมพิวเตอร์ ฯลฯ ... เอกสารสำคัญของหมวดแฮนด์เมด (DO) งานและบริการ (DO) บริการสำหรับเด็ก โฆษณา บริการถ่ายภาพ วีดีโอ โฆษณา ความงามและการดูแล (DO) ความช่วยเหลือในการฝึกอบรม ผู้สอน (DO) แลกเปลี่ยนและ จุดเช่า ฉันจะแจกฟรี อสังหาริมทรัพย์ (DO) โฆษณาให้เช่าและให้เช่าอสังหาริมทรัพย์... สโมสรช้อปปิ้ง พาณิชย์เสนอ ทุกอย่างสำหรับเด็ก - การดูแล การพัฒนา... การซื้อจากต่างประเทศ การตลาดแบบเครือข่าย MLM ตะกร้าของชำสำหรับ คุณและ... สินค้าและบริการสำหรับบ้าน การก่อสร้าง... SP - ความบ้าคลั่ง (การจัดซื้อร่วม b... เอกสารสำคัญของแฟน ๆ ช้อปปิ้ง SP-mania - โอ้อวดและใหญ่... การให้คำปรึกษาของผู้เชี่ยวชาญ การให้คำปรึกษาของนรีแพทย์ , d. .. ปรึกษากุมารแพทย์ เมด... ปรึกษาจักษุแพทย์ ปรึกษาทันตแพทย์จัดฟัน ที่ปรึกษาครอบครัว นักจิตวิทยา A... กระปุกออมสินจากประสบการณ์ของผู้ปกครอง ปรึกษานักเพศศาสตร์ (18+) ปรึกษากับผู้เชี่ยวชาญ เอกสารเก่า การให้คำปรึกษาของกุมารแพทย์ การให้คำปรึกษาของคลินิกผู้เชี่ยวชาญ การให้คำปรึกษาของทนายความ การให้คำปรึกษาของผู้เชี่ยวชาญในจุลชีววิทยา... การให้คำปรึกษาของทนายความ การให้คำปรึกษาของแพทย์ของศูนย์ครอบครัว... การให้คำปรึกษาของแพทย์ผู้เชี่ยวชาญ... การให้คำปรึกษาของแพทย์ชีวจิต การให้คำปรึกษาโดยผู้เชี่ยวชาญของ แพทย์... คำปรึกษาจากแพทย์ผู้เชี่ยวชาญ... คำปรึกษาจากแพทย์ผู้เชี่ยวชาญ .. คำปรึกษากับจักษุแพทย์ อิกอร์... คำปรึกษาจากจักษุแพทย์เด็ก... คำปรึกษาจากผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะในเด็ก,... คำปรึกษาจากผู้เชี่ยวชาญใน... การปรึกษากับนักประสาทวิทยาผู้ใหญ่ การปรึกษากับนักประสาทวิทยาเด็ก... การปรึกษากับแพทย์ด้านความงาม การปรึกษากับนักประสาทวิทยาในเด็ก นักจิตวิทยา Peter Zarubin การปรึกษากับทันตแพทย์ การปรึกษากับอาจารย์ผู้สอนโดยแม่ .. นักจิตวิทยา Alexander และ Katerina... ปรึกษากับผู้เชี่ยวชาญด้านเด็ก... ปรึกษากับทันตแพทย์จัดฟัน

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

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

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

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

    สวัสดี!

    สวัสดี!

    ทั้งสองจะส่งออก Hello!

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

    เล็ก

    โดยทั่วไปแล้วจะมีขนาดเล็ก

    ใหญ่!

    จะใหญ่มาก!

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

[ข]มองฉันสิ!

สิ่งนี้จะส่งออก มองฉันสิ!

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

[ข][คุณ]นี่เป็นสิ่งที่ผิด

การอ้างอิงและส่งออกข้อความที่มีความกว้างคงที่

มีสองวิธีที่คุณสามารถอ้างอิงข้อความ โดยมีการอ้างอิงหรือไม่มีก็ได้

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

    ข้อความนาย.. Blobby เขียนจะไปที่นี่

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

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

หากคุณต้องการส่งออกโค้ดหรือสิ่งใดก็ตามที่ต้องใช้ความกว้างคงที่ เช่น แบบอักษรประเภท Courier ที่คุณควรใส่ข้อความไว้ แท็กเช่น

echo "นี่คือโค้ดบางส่วน";

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

กำลังสร้างรายการ

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


[*] สีแดง
[*] สีฟ้า
[*] สีเหลือง

สิ่งนี้จะสร้างรายการต่อไปนี้:

  • สีเหลือง

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


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

จะสร้างสิ่งต่อไปนี้:

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


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

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

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

PhpBB BBCode รองรับหลายวิธีในการสร้าง URIs (Uniform Resource Indicators) หรือที่รู้จักกันดีในชื่อ URL

  • อันแรกใช้ แท็ก สิ่งที่คุณพิมพ์หลังเครื่องหมาย = จะทำให้เนื้อหาของแท็กนั้นทำหน้าที่เป็น URL ตัวอย่างการลิงก์ไปยัง phpBB.com คุณสามารถใช้:

    เยี่ยมชม phpBB!

    เยี่ยมชม phpBB! โปรดทราบว่าลิงก์จะเปิดขึ้นในหน้าต่างเดียวกันหรือหน้าต่างใหม่ ขึ้นอยู่กับการตั้งค่าเบราว์เซอร์ของผู้ใช้

  • หากคุณต้องการให้ URL แสดงเป็นลิงก์ คุณสามารถทำได้โดยใช้:

    http://www.phpbb.com/

    สิ่งนี้จะสร้างลิงค์ต่อไปนี้ http://www.phpbb.com/

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

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

กำลังแสดงภาพในโพสต์

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

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

ตามที่ระบุไว้ในส่วน URL ด้านบน คุณสามารถล้อมรูปภาพในรูปแบบ แท็กถ้าคุณต้องการเช่น

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

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

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

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

มาเริ่มกันเลย

แต่ดูเหมือนมีแสงสว่างที่ปลายอุโมงค์ นี่เป็นคลาสสำเร็จรูปสำหรับการทำงานกับ 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", null, array("start_tag" => " , "end_tag" => ""), "inline", array ("block", "inline"), array ()); // ประมวลผลสตริงทดสอบและส่งออกไปยังเบราว์เซอร์ echo $bbcode->parse ("ข้อความทดสอบ คำนี้ควรเป็น [ข ]ตัวหนา"); ?>

ฟังก์ชัน addCode

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

addCode เป็นโมฆะ (สตริง $code, สตริง $type, สตริง $callback, สตริง $params, สตริง $content_type, อาร์เรย์ $allowed_in, อาร์เรย์ $not_allowed_in);

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

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

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

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

'simple_replace' อธิบายแท็กที่จับคู่อย่างง่าย เมื่อใช้การประมวลผลแท็กประเภทนี้ จะต้องมีสองเซลล์อยู่ในพารามิเตอร์ฟังก์ชัน 'params': $params['start_tag'] และ $params['end_tag'] '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?' ประเภทนี้สามารถทำงานเหมือน 'usecontent' หรือ 'callback_replace' ขึ้นอยู่กับสถานการณ์ ความเกี่ยวข้องของตัวเลือกใดตัวเลือกหนึ่งถูกกำหนดโดยการมีอยู่ของแอตทริบิวต์ที่สมมติไว้ก่อนหน้านี้ในแท็ก bb หากพบแอตทริบิวต์ ระบบจะใช้การประมวลผล 'callback_replace' มิฉะนั้นแท็กจะถูกประมวลผลเป็น 'usecontent' ชื่อของแอตทริบิวต์ที่จะค้นหาระบุผ่านพารามิเตอร์ $params['usecontent_param'] หากระบุชื่อเริ่มต้น ระบบจะถือว่าค่าแอตทริบิวต์ที่กำหนดให้กับแท็กโดยตรง ตัวอย่างเช่น ค่าของแอตทริบิวต์เริ่มต้นจะเป็นข้อความ "http://link" เทคนิคนี้มักใช้กับแท็ก เช่น แท็กนี้สามารถใช้ได้ในสองรูปแบบ: http://www.example.com/ และข้อความลิงก์ รวมถึง [b]ข้อความตัวหนา ในกรณีแรก จะใช้ประเภท 'usecontent' เนื่องจาก ข้อความลิงก์ควรแสดงโดยไม่มีการจัดรูปแบบใดๆ (และอันที่จริง ตัวลิงก์เองจะไม่ถูกต้องหากมีอักขระที่ไม่เกี่ยวข้อง) มิฉะนั้นควรใช้ประเภท 'callback_replace' เนื่องจาก ลิงก์นั้นถูกส่งผ่านเป็นพารามิเตอร์แยกต่างหาก และข้อความที่อยู่ในกรอบของลิงก์อาจมีการจัดรูปแบบบางอย่าง
บันทึก:คุณสามารถระบุพารามิเตอร์ต่างๆ เพื่อค้นหาพารามิเตอร์เหล่านั้นได้ ซึ่งใน $params['usecontent_param'] คุณจะต้องไม่ส่งผ่านสตริง แต่เป็นอาร์เรย์ที่มีสตริง ตัวอย่างเช่น: $bbcode->addCode (..., array('usecontent_param' => array ('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""; ) // ฟังก์ชั่นสำหรับการแทรกรูปภาพ function do_bbcode_img ($action, $attributes, $content, $params, $node_object) ( //ส่วนหนึ่งของฟังก์ชั่นที่เกี่ยวข้องกับ //เฉพาะกับการตรวจสอบข้อมูลแท็กหาก ($$ action == "ตรวจสอบ") ( if (substr ($content, 0, 5) == "data:" || substr ($content, 0, 5) == "file:" || substr ($ content, 0 , 11) == "javascript:" || substr ($content, 0, 4) == "jar:") ( return false; ) return true; ) // แปลงแท็กเป็นตัวแปร //html โดยตรง ด้วยการส่งคืนผลลัพธ์กลับมา " "; ) //สร้างอ็อบเจกต์ของคลาส StringParser_BBCode $bbcode = new StringParser_BBCode(); //เพิ่มตัวกรอง (สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบอย่างเป็นทางการ) //ใช้ฟังก์ชัน Convertlinebreaks ของเรา ซึ่งจะ //แปลงตัวแบ่งบรรทัด ในข้อความเป็น $bbcode ->addFilter เดียว (STRINGPARSER_FILTER_PRE, "convertlinebreaks"); //เพิ่ม parsers ของเราเองสำหรับวัตถุประเภทต่างๆ //(สำหรับรายละเอียดเพิ่มเติม ดูเอกสารประกอบอย่างเป็นทางการ) //เราระบุว่าฟังก์ชันใด / /เนื้อหาของแท็กเหล่านี้ควรผ่าน ตัวอย่างเช่น ผ่านฟังก์ชัน //htmlอักขระพิเศษเพื่อป้องกัน XSS เป็นต้น $bbcode->addParser (array ("block", "inline", "link", "listitem"), "htmlspecialchars "); $bbcode->addParser (อาร์เรย์ (" block", "inline", "link", "listitem"), "nl2br"); $bbcode->addParser ("list", "bbcode_stripcontents"); // เพิ่มโค้ด bb ที่ใช้ในรูปแบบ: //ส่งข้อความส่วนหัวระดับแรก $bbcode->addCode ("h1", "simple_replace", null, array ("start_tag" => "

, "end_tag" => "

"), "block", array ("listitem", "block", "link"), array ()); // เพิ่มโค้ด bb ที่ใช้ในรูปแบบ: // ข้อความของส่วนหัวระดับที่สอง $bbcode->addCode ( "h2", "simple_replace", null, อาร์เรย์ ("start_tag" => "

, "end_tag" => "

"), "block", array ("listitem", "block", "link"), array ()); // เพิ่ม bb-code ที่ใช้ในรูปแบบ: // ข้อความของส่วนหัวระดับที่สาม $bbcode-> addCode ( "h3", "simple_replace", null, อาร์เรย์ ("start_tag" => "

, "end_tag" => "

"), "block", array ("listitem", "block", "link"), array ()); // เพิ่มโค้ด bb ที่ใช้ในรูปแบบ: // ข้อความส่วนหัวระดับที่สี่ $bbcode->addCode ( " h4", "simple_replace", โมฆะ, อาร์เรย์ ("start_tag" => "

, "end_tag" => "

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

    คำหลัง

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

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

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

    การแนะนำ

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

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

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

      [ข]สวัสดี

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

    • ใช้สำหรับขีดเส้นใต้ [ยู], ตัวอย่างเช่น:

      [ยู]สวัสดีตอนเช้า

      จะกลายเป็นสวัสดีตอนเช้า

    • ตัวเอียงทำได้โดยแท็ก [ฉัน], ตัวอย่างเช่น:

      นี้ [ฉัน]ยอดเยี่ยม!

      จะแจกสิ่งนี้ ยอดเยี่ยม!

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

      สวัสดี!

      สวัสดี!

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

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

      เล็ก

      เป็นไปได้มากว่ามันจะมีขนาดเล็ก

      ในขณะที่:

      ใหญ่!

      มันจะยิ่งใหญ่มาก!

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

    [ข]มองฉันสิ!

    มันจะให้อะไร? มองฉันสิ!

    [ข][คุณ]นี่ไม่เป็นความจริง

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

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

    http://phpbbex.com/logo.png

    ไม่ถูกต้องซึ่งอาจส่งผลให้โพสต์ของคุณถูกลบได้ ดังนั้นโปรดใช้ความระมัดระวัง

    การแสดงภาพในข้อความ

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

    http://phpbbex.com/logo.png

    ตามที่ระบุไว้ในประเด็นที่แล้ว คุณสามารถล้อมรูปภาพด้วยแท็กได้ , นั่นคือ

    http://phpbbex.com/logo.png

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

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

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

      ส่งข้อความหานาย บล๊อบบี้จะมาแล้ว

      ส่งผลให้คำว่า “นาย.. บล็อบบี้เขียนว่า: " จำคุณ ต้องใส่ชื่อไว้ในเครื่องหมายคำพูด "" ซึ่งไม่สามารถละเว้นได้

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

    echo "นี่คือโค้ดบางส่วน";

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

    การสร้างรายการ

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


    [*] สีแดง
    [*] สีฟ้า
    [*] สีเหลือง

    สิ่งนี้จะสร้างรายการเช่นนี้:

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


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

    จะให้สิ่งต่อไปนี้:

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


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

    มันจะให้อะไร?

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