ニコニコ動画のURLリンクから外部プレイヤーのスクリプトに正規表現で置換する

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

スポンサーリンク

ニコニコ動画の動画のアドレスを抽出して外部プレイヤー貼りつけソースのスクリプトに変換するソースです。PHPとjavascriptの場合を用意しましたが、それぞれpreg_replae関数とreplaceメソッドを使って(h)ttp://から始まる動画アドレスを正規表現で外部プレイヤーのスクリプトに変換しているだけです。

PHPの場合

$desc = '私のお勧めの動画は<br>http://www.nicovideo.jp/watch/sm1359820<br>や<br>ttp://www.nicovideo.jp/watch/sm15172108<br>の動画です<br>';

//正規表現で置換する
$replaced = preg_replace("/h?ttp:\/\/www\.nicovideo\.jp\/watch\/(\w{0,2}[0-9]+)/",'<script type="text/javascript" src="http://ext.nicovideo.jp/thumb_watch/\\1"></script><noscript><a href="http://www.nicovideo.jp/watch/\\1"></a></noscript>',$desc);

echo $replaced;

javascriptの場合

var desc = '私のお勧めの動画は<br>http://www.nicovideo.jp/watch/sm1359820<br>や
<br>ttp://www.nicovideo.jp/watch/sm15172108<br>の動画です<br>';

//正規表現で置換する
desc = desc.replace(/h?ttp:\/\/www\.nicovideo\.jp\/watch\/(\w{0,2}[0-9]+)/g,"<scr"+"ipt type=\"text/javascript\" src=\"http://ext.nicovideo.jp/thumb_watch/$1\"></scr"+"ipt><nosc"+"ript><a href=\"http://www.nicovideo.jp/watch/$1\">http://www.nicovideo.jp/watch/$1</a></nosc"+"ript>");

document.write(desc);

タグと間違われる場合があるのでscriptの文字は適当に分割しました。
javascriptによるデモはこちら↓

ちなみにYoutube版の置換はこちら
この置換を一括で行えるデモ

ニコニコムービーメーカー(動画) 通常版
インターネット (2009-02-20)
売り上げランキング: 2,661
スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

人気記事表示ブログパーツの忍者レコメンドを使ってみる

忍者レコメンドとは 今回は忍者レコメンドという人気記事表示のブログパーツを紹介します。忍者レコメン

記事を読む

ニコニコ動画の外部プレイヤーを動的に設置する【javascript/jQuery】

ニコニコ動画の外部プレイヤーはページのはじめの読み込みのときにしか表示されず、javascriptで

記事を読む

関連記事を手軽に表示できるzenbackの導入方法

関連記事を手軽に表示できるZenbackというサービスの紹介です。 関連記事の表示を手助けして

記事を読む

【javascript】正規表現文字置換簡易ツール

jQueryで作成した正規表現による文字抽出用スクリプトです。 (使い方) 「正規表

記事を読む

【Three.js/jThree.js】カメラ内部パラメータを変更して視野などを変える

jThree.jsでカメラの内部パラメータを変更するのに手間取ったのでメモ。参考にしているjThre

記事を読む

かわいい女の子のアイコンやアバター画像を作れるサイト

TwitterやFacebookなどでアイコンが欲しくなることってあるかと思います。私も色々検索して

記事を読む

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

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

記事を読む

javascriptにおけるfor文の書き方

1. for文とは ある条件が正しいときに処理を繰り返すというループを記述するための文です。 似

記事を読む

さくらサーバーにフォルダをアップロードする方法

さくらサーバーにフォルダをアップロードする…という機能は無いみたいで個別にFTPソフトを使う必要があ

記事を読む

【PHP】Simple HTML DOM Parserを使って属性の値を取得する

PHPでSimple HTML DOM Parserを使ったスクレイピングで指定の属性の値を取得する

記事を読む

【Laravel5】既存のDBからデータを取得して表示する

はじめに 今まで作ったWebサイトをLaravel5で見れるようにし

【C++/OpenCV】cv::Matの画像にインパルスノイズを付加する

OpenCVで画像にノイズを付け足したいと思って調べたところ、Pyth

Intel Corei7-7700TでHTC Viveの動作確認

はじめに HTC ViveというVRヘッドセットで遊んでみたのでその

【Python】フォルダ内のカッコ付き数字ファイルを一括でリネームするスクリプト

はじめに タイトルどおりなのですが、指定フォルダ内のファイルのファイ

OpenCV3.1のTracking APIでトラッキングを試す

はじめに 先日OpenCV3.1をopencv_contrib付きで

パソコンを複数台使う際便利なツール

はじめに 先日、機械学習用にGPUを積んだBTOパソコンを購入しまし

OpenCV3.1をopencv_contrib付きでVisual Studio2013でビルドしてインストールする

はじめに OpenCV3.1でトラッキングがしたいと思いインストーラ

→もっと見る

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