Anyone know how to make a Youtube shortcode autoplay?
Thanks!
Graham
Thanks!
Graham
// 4.
// YouTube Shortcode
// Usage: [youtube video="http://www.youtube.com/watch?v=5PsnxDQvQpw"]
// [youtube http://www.youtube.com/watch?v=1aBSPn2P9bg]
// [youtube 1aBSPn2P9bg]
$FUNCS->register_shortcode( 'youtube', 'youtube_handler' );
function youtube_handler( $params, $content=null ){
global $FUNCS;
extract( $FUNCS->get_named_vars(array(
'video' => 'http://',
'width' => '475',
'height' => '350',
), $params) );
// Video parameter is link or ID?
if ( (substr($video, 0, 7) == 'http://') || (substr($video, 0, 8) == 'https://') ){
/*
Example links that can be handled:
http://www.youtube.com/watch?v=5PsnxDQvQpw
http://youtube.com/watch?v=5PsnxDQvQpw
http://youtube.com/watch?gl=US&hl=en-US&v=5PsnxDQvQpw
http://youtube.com/v/5PsnxDQvQpw&rel=1
*/
if( !preg_match('#https?://(?:[^\.]+\.)?youtube.com.*(?:\?v=|&v=|/v/)([\w_-]+)#i', $video, $matches) ) return;
$video = $matches[1];
}
// Sanitize parameters
$video = htmlspecialchars( $video, ENT_QUOTES );
$width = (int)$width;
$height = (int)$height;
// Output HTML
$html =<<<EOS
<iframe class="youtube-player" type="text/html" width="$width" height="$height" src="http://www.youtube.com/embed/$video" frameborder="0"></iframe>
EOS;
return $html;
}
// 4.
// YouTube Shortcode
// Usage: [youtube video="http://www.youtube.com/watch?v=5PsnxDQvQpw"]
// [youtube http://www.youtube.com/watch?v=1aBSPn2P9bg]
// [youtube 1aBSPn2P9bg]
$FUNCS->register_shortcode( 'youtube', 'youtube_handler' );
function youtube_handler( $params, $content=null ){
global $FUNCS;
extract( $FUNCS->get_named_vars(array(
'video' => 'http://',
'width' => '475',
'height' => '350',
'autoplay' => '0',
), $params) );
// Video parameter is link or ID?
if ( (substr($video, 0, 7) == 'http://') || (substr($video, 0, 8) == 'https://') ){
/*
Example links that can be handled:
http://www.youtube.com/watch?v=5PsnxDQvQpw
http://youtube.com/watch?v=5PsnxDQvQpw
http://youtube.com/watch?gl=US&hl=en-US&v=5PsnxDQvQpw
http://youtube.com/v/5PsnxDQvQpw&rel=1
*/
if( !preg_match('#https?://(?:[^\.]+\.)?youtube.com.*(?:\?v=|&v=|/v/)([\w_-]+)#i', $video, $matches) ) return;
$video = $matches[1];
}
// Sanitize parameters
$video = htmlspecialchars( $video, ENT_QUOTES );
$width = (int)$width;
$height = (int)$height;
if ( $autoplay == '1' ){
$video .= '?autoplay=1';
}
// Output HTML
$html =<<<EOS
<iframe class="youtube-player" type="text/html" width="$width" height="$height" src="http://www.youtube.com/embed/$video" frameborder="0"></iframe>
EOS;
return $html;
}