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
スポンサーリンク
  • このエントリーをはてなブックマークに追加

関連記事

WordPressサイトのSSL対応(HTTPS化)手順のまとめ【さくらサーバー】

先週頃にこのサイトをSSL対応しましたのでその流れについてまとめておき

【Google Charts】動的にグラフを更新する方法

はじめに Webサイト上でグラフを描こうと思った場合、いくつかのJa

体重変化量計算シミュレータ【ダイエット/肥満】

ツール本体 入力 カロリー入力 1日の余剰摂取/消費カロリー

おサイフケータイ対応ストレージ32GBのSIMフリースマホまとめ【2017年秋版】

はじめに SIMフリーの格安スマホのおサイフケータイ機能付きのもので

リクルート期間限定ポイントの有効な使い道

はじめに  先日クレジットカードの見直し活動の一環でポイント還元率の

初心者がお金を貯めるための節約・財テク手法まとめ【ポイント還元・投資・税金対策】

はじめに  最近なるべく節約しようと思い、お金周りに関して色々調べて

動画講座を効率的にキャプチャして復習する方法

はじめに  最近、動画媒体の講座などをたまに視聴しています。独学だと

→もっと見る

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