ニコニコ動画の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
  • このエントリーをはてなブックマークに追加

関連記事

【CakePHP3】無関係な複数テーブルのデータを一つのコントローラで扱う

CakePHP3で一つのコントローラないでお互い独立したテーブルを扱うには単純にTableRegis

記事を読む

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

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

記事を読む

関連記事を表示させるブログパーツOutbrainの導入方法

関連記事を表示させるブログパーツOutbrainの紹介です。 このOutbrainの長所は

記事を読む

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

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

記事を読む

【javascript/jQuery】強制的にページをスクロールさせる方法

強制的にページをスクロールさせたいと思って調べていたのですが、なかなか思うようなものが見つからず困っ

記事を読む

【PHP】usortのfunctionでCannot redeclare(再定義)される

初心者なのでusortがいいものかどうなのかよくわからないのですが、usortの関数定義をするとたま

記事を読む

MMDなどの3Dモデルが閲覧・共有できるニコニ立体が面白い

いよいよニコニ立体のサービスが開始されました。色々な3D作品が既にたくさん投稿されています。

記事を読む

ニコニコ動画のユーザーおよびマイリストのRSSフィード

ニコニコ動画のユーザーページのRSSフィードおよびマイリストのRSSフィードは次のようになっています

記事を読む

javascriptでチェックボックスを一括で変更する方法

チェックボックスのチェックに一つ一つチェックを入れていくのは非常に手間がかかるのでjavascrip

記事を読む

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

Youtubeのアドレスを正規表現を使って抽出して外部プレイヤーのフレームに変換・置換するスクリプト

記事を読む

【Unity】他のスクリプトを一括で取得して有効化・無効化を制御する

Unityを使っていて他のスクリプトを一時的に停止させたいと思ったので

テレビの録画をPCやNASで共有する

今までテレビはテレビ用のモニターで見ればいいやと思っていたのですが、さ

【DeepLearning】物体検出手法のSSD(Keras版)を試す (Ubuntu14.04)

はやりのディープラーニングの物体検出手法の一つであるSSDのサンプルを

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

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

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

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

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

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

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

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

→もっと見る

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