*/
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 = '<externalvideo src="NC:' + target_element[0].replace(/src=["']http:\/\/ext.nicovideo.jp\/thumb\/|["']/ig, "") + ':D">';
+ // 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, "");