OSDN Git Service

modified a-tag-replace and replace nicovide-tag.
authorelixirel <elixirel@users.sourceforge.jp>
Wed, 3 Jun 2009 13:20:28 +0000 (22:20 +0900)
committerelixirel <elixirel@users.sourceforge.jp>
Wed, 3 Jun 2009 13:20:28 +0000 (22:20 +0900)
js/lunardial/feedblog_mixi.js

index 9447990..4b8db30 100644 (file)
@@ -143,15 +143,35 @@ function validateData(data){
  */
 function validateText(contents){
 
-    // Aタグを変換する
-    while (contents.match(/<a[^>]*>/)) {
-               // 置換対象のAタグを抽出する
-               var a_tag_str = contents.match(/<a[^>]*>/);
-               // href="..."の部分のみを抜き出す
-               var a_tag_link = a_tag_str[0].match(/href=["'][^"']*["']/);
-               // Aタグ全体をURIで置換し、再度Aタグのマッチングを行う
-               contents = contents.replace(a_tag_str, " [ " + a_tag_link[0].replace(/href=|["']/g, "") + " ] ");
-       }
+    // 置換仕様変数
+    var target_tag;
+    var target_element;
+    
+    // ニコニコ動画のタグを置換
+    while (contents.match(/<iframe[^>]*src=["']http:\/\/ext.nicovideo.jp\/thumb\/sm\d*["'][^>]*>[^<]*<\/iframe>/i)) {
+        // 置換対象の<iframe ...> ... </iframe>を抽出する
+        //target_tag = contents.match(/<iframe width=["']\d*["'] height=["']\d*["'] src=["']http:\/\/ext.nicovideo.jp\/thumb\/sm\d*["'] scrolling=["']no["'] style=["']border:solid 1px #CCC;["'] frameborder=["']0["']>[^<]*<\/iframe>/i);
+        target_tag = contents.match(/<iframe[^>]*src=["']http:\/\/ext.nicovideo.jp\/thumb\/sm\d*["'][^>]*>[^<]*<\/iframe>/i);
+        // src="..."の部分だけ抜き出す
+        target_element = target_tag[0].match(/src=["'][^"']*["']/i);
+        target_element = '&lt;externalvideo src=&quot;NC:' + target_element[0].replace(/src=["']http:\/\/ext.nicovideo.jp\/thumb\/|["']/ig, "") + ':D&quot;&gt;';
+        // iframeタグ全体を置換する
+        contents = contents.replace(target_tag, target_element);
+    }
+    
+     // Aタグを変換する
+     while (contents.match(/<a[^>]*>/)) {
+     // 置換対象のAタグを抽出する
+     target_tag = contents.match(/<a[^>]*>/i);
+     // href="..."の部分のみを抜き出す
+     target_element = target_tag[0].match(/href=["'][^"']*["']/i);
+        // 相対URIが検出された場合、フルに置換する
+        target_element = target_element[0].replace(/\.\//, "http://lunardial.sakura.ne.jp/");
+     // Aタグ全体を消去し、再度Aクローズタグの置換を行う
+     contents = contents.replace(target_tag, "");
+     contents = contents.replace(/<\/a>/i, " ( " + target_element.replace(/href=|["']/g, "") + " ) ");
+     }
+
     // 通常のタグすべてを削除する
     contents = contents.replace(/<[^>]*>|<\/[^>]*>/ig, "");