ผู้เขียน หัวข้อ: ทำ SMF ให้โพสต์วีดีโอจาก youtube ได้,YouTube BBCode smf 2.0.2  (อ่าน 23859 ครั้ง)

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
ทำ SMF ให้โพสต์วีดีโอจาก youtube ได้
YouTube BBCode smf 2.0.2 ทดสอบแล้วใช้ได้ 100%
ปกติเว็บบอร์ดของ SMF จะไม่มีออฟชั่นนี้มาให้ ดังนั้นหากเราต้องการจะนำวีดีโอยูทูปมาใส่โชว์ที่เว็บบอร์ดของเรา จึงจำเป็นต้องหา mod มาติดตั้งหรือเพิ่มโค้ดแบบแมนวล manual เอง และโค้ดนี้เป็นแบบ manual คือทำด้วยมือเองครับ



วิธีใช้ tag [ youtube ][ /youtube ] นำ Url ยูทูปมาแทรก hxxp://youtu.be/_8LJfpWQPxI
ตัวอย่างการใส่  [ youtube ]_8LJfpWQPxI[ /youtube ]

    สามารถกำหนดขนาดของวิดีโอที่จะโพสต์ได้ โดยใส่เป็นตัวเลขกำหนดความกว้าง และความสูงของวิดีโอ เช่น [yutube=425,350][/youtube] ถ้าไม่ได้กำหนด จะแสดงขนาดของวิดีโอตามขนาดมาตรฐานจากยูทูป

File Edits เปิดไฟล์ที่จะต้องแก้ไข  /Sources/Subs.php

Find:ค้นหา
โค๊ด: [Select]
array(
'tag' => 'white',
'before' => '<span style="color: white;" class="bbc_color">',
'after' => '</span>',
),

[hide=3]
Add After: เติมต่อท้ายที่หา
โค๊ด: [Select]
array(
'tag' => 'youtube',
'type' => 'unparsed_content',
'validate' => create_function('&$tag, &$data, $disabled', '
// Access globals
global $txt, $context;
// Determine which variable is the link
$link = !is_array($data) ? $data : $data[0] ;
// Remove linebreaks & trim
$link = trim(strtr($link, array(\'<br />\' => \'\')));
// Parse the ID of video or playlist safely
if  (preg_match(\'~^(?:http://((?:www|au|br|ca|es|fr|de|hk|ie|in|il|it|jp|kr|mx|nl|nz|pl|ru|tw|uk)\.)?youtube\.com/(?:[^"]*?)(?:(?:video_)?id=|(?:v|p)(?:/|=)))?([0-9a-f]{16}|[0-9a-z-_]{11})~i\'.($context[\'utf8\'] ? \'u\' : \'\'), $link, $matches))
{
// Localised youtube site?  If not use www.
$site = !empty($matches[1]) ? strtolower($matches[1]) : \'www.\' ;
// Video or Playlist ID?
$type = strlen($matches[2]) == 11 ? 1 : 0 ;
// Set sizes Or Normalise sizes (If sizes are <100 or > 780)
if(!is_array($data) || ($data[1] > 780 || $data[1] < 100 || $data[2] > 780 || $data[2] < 100))
$data = array(0, 425, ($type ? 350 : 355));
// Set ID in the array
$data[0] = $matches[2];
// Tidy up
unset($matches, $link);

// Set the Content (With conditions on disabled types of BBCode)
if (isset($disabled[\'url\']) && isset($disabled[\'youtube\']))
// Youtube & Url bbc disabled? (eg Printer friendly pages)
$tag[\'content\'] = "http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0];
elseif(isset($disabled[\'youtube\']))
// Only Youtube is disabled, So make an active link
$tag[\'content\'] = "<a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a>";
else
{
// Empty content
$tag[\'content\'] = \'\';

// Build the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] = \'<object width="\'.$data[1].\'px" height="\'.$data[2].\'px">\'
.\'<param name="movie" value="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" />\'
.\'<param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" />\'
.\'<param name="allowScriptAccess" value="never" />\';
// Build the <embed>
$tag[\'content\'] .= \'<embed src="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" \'
.\'type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="never" \'
.\'wmode="transparent" width="\'.$data[1].\'px" height="\'.$data[2].\'px">\';
// Build the <noembed>
$tag[\'content\'] .= "<noembed><a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p" ) ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a></noembed>";
// Closing <embed>
$tag[\'content\'] .= \'</embed>\';
// Close the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] .= \'</object>\';
}
}
else
// Invalid link
$tag[\'content\'] = $txt[\'youtube_invalid\'];
'),
'disabled_content' => '$1',
            ),
array(
'tag' => 'youtube',
'type' => 'unparsed_commas_content',
'test' => '\d+,\d+\]',
'validate' => create_function('&$tag, &$data, $disabled', '
// Access globals
global $txt, $context;
// Determine which variable is the link
$link = !is_array($data) ? $data : $data[0] ;
// Remove linebreaks & trim
$link = trim(strtr($link, array(\'<br />\' => \'\')));
// Parse the ID of video or playlist safely
if  (preg_match(\'~^(?:http://((?:www|au|br|ca|es|fr|de|hk|ie|in|il|it|jp|kr|mx|nl|nz|pl|ru|tw|uk)\.)?youtube\.com/(?:[^"]*?)(?:(?:video_)?id=|(?:v|p)(?:/|=)))?([0-9a-f]{16}|[0-9a-z-_]{11})~i\'.($context[\'utf8\'] ? \'u\' : \'\'), $link, $matches))
{
// Localised youtube site?  If not use www.
$site = !empty($matches[1]) ? strtolower($matches[1]) : \'www.\' ;
// Video or Playlist ID?
$type = strlen($matches[2]) == 11 ? 1 : 0 ;
// Set sizes Or Normalise sizes (If sizes are <100 or > 780)
if(!is_array($data) || ($data[1] > 780 || $data[1] < 100 || $data[2] > 780 || $data[2] < 100))
$data = array(0, 425, ($type ? 350 : 355));
// Set ID in the array
$data[0] = $matches[2];
// Tidy up
unset($matches, $link);

// Set the Content (With conditions on disabled types of BBCode)
if (isset($disabled[\'url\']) && isset($disabled[\'youtube\']))
// Youtube & Url bbc disabled? (eg Printer friendly pages)
$tag[\'content\'] = "http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0];
elseif(isset($disabled[\'youtube\']))
// Only Youtube is disabled, So make an active link
$tag[\'content\'] = "<a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a>";
else
{
// Empty content
$tag[\'content\'] = \'\';

// Build the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] = \'<object width="\'.$data[1].\'px" height="\'.$data[2].\'px">\'
.\'<param name="movie" value="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" />\'
.\'<param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" />\'
.\'<param name="allowScriptAccess" value="never" />\';
// Build the <embed>
$tag[\'content\'] .= \'<embed src="http://www.youtube.com/\'.($type ? "v" : "p").\'/\'.$data[0].\'&amp;rel=1&amp;fs=1" \'
.\'type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="never" \'
.\'wmode="transparent" width="\'.$data[1].\'px" height="\'.$data[2].\'px">\';
// Build the <noembed>
$tag[\'content\'] .= "<noembed><a href=\"http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p" ) ."=". $data[0]."\" target=\"_blank\">http://". $site ."youtube.com/". ($type ? "watch?v" : "view_play_list?p") ."=". $data[0]."</a></noembed>";
// Closing <embed>
$tag[\'content\'] .= \'</embed>\';
// Close the <object> (Non-Mac IE Only)
if($context[\'browser\'][\'is_ie\'] && !$context[\'browser\'][\'is_mac_ie\'])
$tag[\'content\'] .= \'</object>\';
}
}
else
// Invalid link
$tag[\'content\'] = $txt[\'youtube_invalid\'];
'),
'disabled_content' => '$1',
),
Find:ค้นหา
โค๊ด: [Select]
$disabled['email'] = true;
$disabled['flash'] = true;

Add After: เติมต่อท้ายที่หา
โค๊ด: [Select]
// Disable youtube if on 'printer friendly page'
$disabled['youtube'] = true;

File Edits เปิดไฟล์ที่จะต้องแก้ไข /Sources/Subs-Editor.php

Find:ค้นหา
โค๊ด: [Select]
array(
'image' => 'flash',
'code' => 'flash',
'before' => '[flash=200,200]',
'after' => '[/flash]',
'description' => $txt['flash']
),

Add Before: วางก่อนหน้าที่หา
โค๊ด: [Select]
array(
'image' => 'youtube',
'code' => 'youtube',
'before' => '[youtube]',
'after' => '[/youtube]',
'description' => $txt['youtube']
),

File Edits เปิดไฟล์ที่จะต้องแก้ไข Themes/default/languages/Modifications.thai-utf8.php
หรือถ้าเป็นอังกฤษก็ Modifications.english.php


Find (at the end of the file): ค้นหาแท็กปิดตัวสุดท้าย
โค๊ด: [Select]
?>
Add Before: เพิ่มโค้ดนี้ไว้ก่อน tag ปิดของ php
โค๊ด: [Select]
$txt['youtube'] = 'YouTube';
$txt['youtube_invalid'] = '#ลิงค์ของ YouTube ไม่ถูกต้อง#';
[/hide]

อัพโหลดรูป "youtube.gif" ไปไว้ใน Themes/default หรือธีมที่ใช้ในปัจจุบัน/images/bbc


วิธีใส่วีดีโอกิจกรรมต่างๆด้วย Youtube ลงยังบอร์ด
ไปที่วีดีโอ youtube แล้วก็อปปี่ Url ของ Youtube มาใส่
ตัวอย่างเอา Url Address http: //www.youtube.com/watch?v=_8LJfpWQPxI&feature=youtu.be
หรือจะก็อปเอามาจากตรงด้านล่างที่เขียนว่า แบ่งปัน http: //youtu.be/_8LJfpWQPxI
ส่วนที่ ไฮไลท์สีแดงเอาไว้เป็นส่วนที่เราจะเอามาใส่แทรกตรงโค้ด youtube

คัดเฉพาะส่วนนี้มา _8LJfpWQPxI&feature=youtu.be  หรือส่วนนี้  _8LJfpWQPxI อันใดอันหนึ่ง
ตัวอย่างการใส่ กดปุ่มนี้  เพื่อวาง BBcode [ youtube ]_8LJfpWQPxI[ /youtube ]
สามารถกำหนดความกว้างxสูง ของจอวีด๊โอได้ด้วยการเติมตัวเลข [ yutube=425,350 ][ /youtube ] ถ้าไม่ได้กำหนด จะแสดงขนาดของวิดีโอตามขนาดมาตรฐานจากยูทูป
425 คือค่าของความกว้าง 350 คือความสูง ***ระบบมีการป้องกันห้ามใส่ใหญ่กว่า 780px หรือน้อยกว่า 100px***

 :^a12^: :^a11^: :^a6^:
« แก้ไขครั้งสุดท้าย: 7 มิถุนายน 2012, 21:24:06 โดย We Love Thailand »
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ lektechs

  • Newbie
  • *
  • กระทู้: 4
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :28 พฤศจิกายน 2012, 11:36:55

ออฟไลน์ winner

  • Newbie
  • *
  • กระทู้: 5
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :15 มิถุนายน 2012, 14:17:12
  • Thanks You welovethailand.com
ขอบคุณมากๆครับ

ทำได้แล้ววว :^4thx^: :^4thx^:

ออฟไลน์ sincerenewz

  • Newbie
  • *
  • กระทู้: 3
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :15 มิถุนายน 2012, 20:55:56
  • Thanks You welovethailand.com

ออฟไลน์ kwangkung1

  • Newbie
  • *
  • กระทู้: 3
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :30 มิถุนายน 2012, 22:12:41
  • Thanks You welovethailand.com

ออฟไลน์ zinazisc

  • Newbie
  • *
  • กระทู้: 3
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด : 9 กรกฎาคม 2012, 17:21:51
  • Thanks You welovethailand.com
สุดยอดมากครับ หาวิธีอยู่นาน

ออฟไลน์ onetcafe

  • Newbie
  • *
  • กระทู้: 3
  • ชอบกด Like+ 0
  • เพศ: หญิง
  • ใช้งานล่าสุด :23 มกราคม 2013, 22:00:41
  • Thanks You welovethailand.com
    • ฟังเพลงออนไลน์
« แก้ไขครั้งสุดท้าย: 17 กรกฎาคม 2012, 00:24:21 โดย onetcafe »



ออฟไลน์ banktp106

  • Newbie
  • *
  • กระทู้: 3
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :18 กรกฎาคม 2012, 17:19:26
  • Thanks You welovethailand.com

ออฟไลน์ mymo

  • Newbie
  • *
  • กระทู้: 3
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :25 มิถุนายน 2014, 08:08:31
  • Thanks You welovethailand.com

ออฟไลน์ mr.seui

  • Newbie
  • *
  • กระทู้: 41
  • ชอบกด Like+ 6
  • เพศ: ชาย
  • ใช้งานล่าสุด :25 ตุลาคม 2014, 13:17:50
  • Thanks You welovethailand.com
    • สิงห์รถบรรทุก
 :^23complain^:ทำไมใช้ไม่ได้กับ หมาไฟครับ

ออฟไลน์ We Love Thailand

  • เรารักประเทศไทย
  • Administrator
  • *
  • กระทู้: 1,229
  • ชอบกด Like+ 844
  • เพศ: ชาย
  • ใช้งานล่าสุด :12 มกราคม 2018, 12:54:45
  • รับบอกรักประเทศไทย
    • SprinklerThailand สปริงเกอร์ไทยแลนด์
:^23complain^:ทำไมใช้ไม่ได้กับ หมาไฟครับ

ปกติใช้ได้หมดครับ ทั้ง IE, Firefox
ของท่านน่าจะมาจากธีม ลองเปลี่ยนไปใช้ธีม default ดูเพราะไฟล์ CSS ของธีม default จะสมบรูณ์
สวัสดีคุณ...บุคคลทั่วไป กด Like ให้หรือยัง...
welovethailand.com welovethailand.net เรารักประเทศไทย.com

ออฟไลน์ mr.seui

  • Newbie
  • *
  • กระทู้: 41
  • ชอบกด Like+ 6
  • เพศ: ชาย
  • ใช้งานล่าสุด :25 ตุลาคม 2014, 13:17:50
  • Thanks You welovethailand.com
    • สิงห์รถบรรทุก
ครับ ผมใช้defaultอยู่ รู้สึกว่ามันจะมีอยู่แต่มันถูกซ่อนไว้หลัง bg ของบอร์ดครับ

ออฟไลน์ igamesinth

  • Newbie
  • *
  • กระทู้: 1
  • ชอบกด Like+ 0
  • ใช้งานล่าสุด :26 สิงหาคม 2012, 14:46:15
  • Thanks You welovethailand.com