Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.2 ภาษาไทย (อย่างเป็นทางการ) ใช้งาน Discuz! X3.2 ภาษาไทย ได้ทันที ดาวน์โหลด Discuz! X3.2 ภาษาไทยล่าสุด

บัญชีถูกแช่แข็ง (Freeze) แจ้งความประสงค์ได้ที่นี่ เปิดระบบ Verified Account - ระบบยืนยันตัวตน ถามอย่างไรจึงจะได้คำตอบ - ตั้งกระทู้เนื้อหาครอบคลุม

ดู: 386|ตอบกลับ: 9

Discuz X3.2 BBCode Youtube โดยใช้ Java รองรับลิงค์หลายรูปแบบ

  [คัดลอกลิงก์]
โค้ดนี้ผมเขียนเองไม่ได้คัดลอกมาจากที่ใด หากบังเอิญไปซ้ำกับของผู้ใดก็ขออภัยมา ณ. ที่นี้ด้วย
เหตุผลที่เขียนขึ้นมาเพราะแต่เดิมเคยใช้แบบที่ต้องคร๊อบเอาเฉพาะรหัสวีดิโอมาวางซึ่งรู้สึกไม่สะดวกจึงลองเขียนโค้ดขึ้นมาใหม่
ใช้คำสั่งที่รองรับ Browser หลักๆ ทุกตัวทุกเวอร์ชั่น เช่น IE 6-11, Chorme, Firefox, Opera, Safari
รองรับลิงค์จาก Youtube ในรูปแบบต่างๆ เช่น

  1. https://www.youtube.com/watch?v=XXXXXXXXXXX
  2. https://www.youtube.com/watch?v=XXXXXXXXXXX&feature=share
  3. https://www.youtube.com/watch?feature=share&v=XXXXXXXXXXX
  4. https://www.youtube.com/watch?v=XXXXXXXXXXX&list=PLEgNqLmZpLuI9ajUy3Hg97NrpssG4repu

  5. รูปแบบ BBCode

  6. [youtube]https://www.youtube.com/watch?v=XXXXXXXXXXX[/youtube]
คัดลอกไปที่คลิปบอร์ด

วิธีทำ

หารูป icon สำหรับปุ่ม BBCODE หรือจะโหลดภาพนี้ไปใช้ก็ได้

ตั้งชื่อไฟล์ว่า BB_youtube.png

แล้วอัพโหลดไปวางไว้ที่
../static/image/common/

จากนั้นให้ไปที่ AdminCP -> รูปแบบ -> จัดการเครื่องมือโพสต์ -> โค้ด Discuz!

ทำการเพิ่มแท็กใหม่ให้ชื่อว่า youtube ใส่ชื่อไฟล์ไอคอน BB_youtube.png

คลิกตกลง และเปิดรายละเอียด

แท็ก:
  1. youtube
คัดลอกไปที่คลิปบอร์ด
โค้ด/เนื้อหาที่ต้องการ:
  1. <script type="text/javascript">
  2. var id = '{1}';
  3. var w = 640;
  4. var h = 360;
  5. id = id.substr(id.indexOf("v=") + 2);
  6. var i = id.indexOf("&");
  7. id = (i >= 0 ? id.substr(0, i) : id);
  8. document.write("<iframe width='" + w.toString());
  9. document.write("' height='" + h.toString());
  10. document.write("' src='https://www.youtube.com/embed/" + id);
  11. document.write("' frameborder='0' allowfullscreen></iframe>");
  12. </script>
คัดลอกไปที่คลิปบอร์ด
ตัวอย่าง:
  1. [youtube]https://www.youtube.com/watch?v=XXXXXXXXXXX[/youtube]
คัดลอกไปที่คลิปบอร์ด
รายละเอียด:
  1. วางคลิป Youtube
คัดลอกไปที่คลิปบอร์ด
จำนวนช่องที่ให้ใส่ข้อมูล / โค้ด / ID: = 1

กำหนดสิทธิ์ตามต้องการ แล้วคลิกปุ่ม ตกลง เป็นอันเสร็จ

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

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

x

คะแนน

4

ดูบันทึกคะแนน

โพสต์ 2016-10-16 11:51:50 | ดูโพสต์ทั้งหมด
ขอบคุณครับ
โพสต์ 2016-10-17 06:53:09 | ดูโพสต์ทั้งหมด
สุดยอดเลยครับ มีของ line และอื่นๆอีกไหมครับ
โพสต์ 2016-10-17 17:43:41 | ดูโพสต์ทั้งหมด
เหมือนพินทิปเลย ไม่ต้องเอาไอดีมาวาง แค่วางลิงก์ ก็โพสต์ได้เลย เยี่ยมๆ

แปลงเป็น PHP ด้วยก็ดีนะครับ ตัวกรองโค้ด

ขอบคุณมากจ้า
 เจ้าของ| โพสต์ 2016-10-18 06:48:12 | ดูโพสต์ทั้งหมด
PHP ต้องสร้างไฟล์แยก แต่ผมลองแล้วจะมีปัญหากับการสั่งลิงค์ที่มีเครื่อง '&' ID วีดีโอจะไม่ถูกส่งไปกับลิงค์

เช่นลิงค์
  1. https://www.youtube.com/watch?feature=share&v=XXXXXXXXXXX
คัดลอกไปที่คลิปบอร์ด


ก็จะไปแค่
https://www.youtube.com/watch?feature=share


ไม่รู้ว่าจะต้องแก้ยังไงถึงจะไปได้หมด


===============

ส่วนวีดีโอจากที่อื่น ถ้าใช้ Java ก็ใช้โค้ดรูปแบบเดิมครับแก้ไขจุดทีใช้หาตำแหน่ง ID
  1. id = id.substr(id.indexOf("v=") + 2);
  2. var i = id.indexOf("&");
คัดลอกไปที่คลิปบอร์ด


กับ HTML ใน document.write ให้เป็นรูปแบบโค้ดฝังคลิปจากเว็บนั้นๆ ครับ
โพสต์ 2016-10-19 12:39:10 | ดูโพสต์ทั้งหมด
แก้ไขครั้งสุดท้ายโดย kingkitb เมื่อ 2016-10-19 12:46
jaideejung007 ตอบกลับเมื่อ 2016-10-17 17:43
เหมือนพินทิปเลย ไม่ต้องเอาไอดีมาวาง แค่วางลิงก์ ก็โ ...

/source/function/function_discuzcode.php

  1. preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu‌​\.be\/|youtube\.com\‌​/(?:(?:watch)?\?(?:.‌​*&)?v(?:i)?=|(?:embe‌​d|v|vi|user)\/))([^\‌​?#&\"'>]+)/", $url, $matches);
คัดลอกไปที่คลิปบอร์ด

ใช้ $matches[1]
ต้องแก้ตั้งแต่ elseif(strpos($lowerurl, 'www.youtube.com/watch?') !== FALSE) {
ให้เป็น youtube.com กับ youtu.be (เพิ่มมาอีก 1)

คะแนน

1

ดูบันทึกคะแนน

โพสต์ 2016-12-23 14:39:03 | ดูโพสต์ทั้งหมด
ขอบคุณครับ
โพสต์ 2016-12-30 16:02:54 | ดูโพสต์ทั้งหมด
ขอบคุณมากครับ เยี่ยมจริง ๆ ครับท่าน
โพสต์ 2017-1-8 10:24:51 | ดูโพสต์ทั้งหมด
ขอบคุณมากๆครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|อุปกรณ์พกพา|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2017-1-23 17:29

Powered by Discuz! X3.1 R20131011, Rev.26

© 2001-2013 Comsenz Inc. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้