YoutubeのURLリンクを外部プレイヤーのものに正規表現で置換する

公開日: : 最終更新日:2014/08/14 JavaScript/jQuery, PHP, Youtube, サイト制作

スポンサーリンク

Youtubeのアドレスを正規表現を使って抽出して外部プレイヤーのフレームに変換・置換するスクリプトです。PHPとjavascriptの両方で行いました。ソースではwidthとheightパラメータの2つを指定して、それぞれ外部動画プレイヤーの幅と高さを調整しています。

PHPのサンプル)

$width = 560;
$height = 315;
$desc = "https://www.youtube.com/watch?v=Yfl7OID_-gE&list=PLUkdT9ljJ1carw5EnCL7ZjmbYYzartc-p<br>https://www.youtube.com/watch?v=PvhuzoqsshY";

//正規表現で置換
$desc = preg_replace("/h?ttps?:\/\/www\.youtube\.com\/watch\??\w?=?([^<>?&]+)/","<iframe width=\"".$width."\" height=\"".$height."\" src=\"http://www.youtube.com/embed/\\1\" frameborder=\"0\" allowfullscreen></iframe>",$desc);

echo $desc;

javascriptのサンプル)

var width = 560;
var height = 315;
var desc = "https://www.youtube.com/watch?v=Yfl7OID_-gE&list=PLUkdT9ljJ1carw5EnCL7ZjmbYYzartc-p<br>https://www.youtube.com/watch?v=PvhuzoqsshY";

//正規表現で置換
desc = desc.replace(/h?ttps?:\/\/www\.youtube\.com\/watch\??\w?=?([^<>?&]+)/g,"<iframe width=\""+width+"\" height=\""+height+"\" src=\"http://www.youtube.com/embed/$1\" frameborder=
\"0\" allowfullscreen></iframe>");

document.write(desc);

このスクリプトではwww.youtube.comのもののみを対象としており、他のドメインからのものは考慮していません。使うときは幅、高さ、対象文字列の3つを引数にして関数化したほうが使いやすいと思います。

javascriptによるデモはこちら↓

ちなみにニコニコ動画の置換はこちら
この置換を一括で行えるデモ

SUMMER ADDICTION
SUMMER ADDICTION

posted with amazlet at 14.07.05
TUBE
SMAR (2012-06-27)
売り上げランキング: 109,418
スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

【jQuery/javascript】Tweetボタンを動的に設置する

Twitterボタンをブログやサイトに設置するとき読み込みに時間がかかってしまって困るといったことや

記事を読む

相互RSSサービスのまとめ

ブログやサイトを作ると相互RSSという名前を聞くことがあると思います。相互RSSとはざっくりいうと他

記事を読む

美人画像を表示してくれるブログパーツまとめ

美人時計など有名なものもありますが、美人画像を表示してくれるブログパーツをまとめました。暦や時刻を表

記事を読む

【jQuery UI】Sliderのオプション変更やイベントを取得をする方法

jQuery UIを使ってスライダー(トラックバー)を作ります。その際に起こるイベントとしてスライダ

記事を読む

【CSS】beforeのcontentで改行する

.bsample1:before{ content:"★参考★\A"; } .bsampl

記事を読む

【PHP】特定のURLからそのAtomやRSSのフィードを抽出する方法

特定のURLからRSSやATOMのフィードを抽出する方法をメモ。 流れとしては指定のWebページH

記事を読む

【jQuery】サイドバー固定に役立つサイト集

縦スクロール 縦方向にスクロールして指定の位置に来たら要素を固定させる方法のリンク集を紹介させてい

記事を読む

ニコニコ動画のRSSをjavascriptで読み込んで表示させる

ニコニコ動画のランキングRSSをjQueryで読み込んで表示するプログラムを作成しました。RSSの読

記事を読む

【PHP】WebAPIのJSONファイルを読み込む

WebAPIでJSONファイルを使う機会があったので使い方をメモ。最近ではWebAPIはSNSやブロ

記事を読む

【javascript/jQuery】JSON形式のデータの表示確認をする

PHPであれば「var_dump」や「print_r」などでJSON形式のデータの中身が思い通りの者

記事を読む

NVIDIA DIGITSをSupervisorを使って自動起動する

はじめに 先日Ubuntu14.04にDIGITS 5をGPUなしP

【2017年度】GeForce 1080 Ti搭載BTOパソコン比較

はじめに 最近ディープラーニング用にGPUのないPCにDIGITSを

Windows用のシンプルなストップウォッチソフト紹介

Windows(10)でも使える使いやすいKAZAMITimerという

MNISTをDIGITS 5のCPUのみで試す(GPUなし)

はじめに DIGITSを使えばGUI操作で簡単にディープラーニングが

Windowsユーザが初めてMacBookを購入したときの注意点や感想

最近12インチのMacBookを購入しました。今までWindowsしか

Redmine3.2をUbuntu14.04にインストールして躓いた所についてメモ

はじめに Ubuntu14.04 ServerにRedmine3.2

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑