本WIKI由呜呜kurumi申请于2021年03月15日创建,编辑权限开放
本站简中服内容急速更新中,如有内容错误,可以联系站长呜呜kurumi提交错误,赛马娘WIKI力求给大家带来最好的体验,也欢迎训练员们和我们一起建设

全站通知:

Widget:MgpWikiConverter

来自赛马娘WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

<!DOCTYPE html> <html lang="en"> <head>

   <meta charset="UTF-8">
   <title>Title</title>

</head> <body> <label id="jie">

   <input type="text" id="horse_name" placeholder="马名" >
   <textarea id="moesource" style="height: 300px;width: 800px;" placeholder="请将萌百正文黏贴到这里" type="text"></textarea>
   <input type="button" onclick="REP()" value="转换">

</label>

</body> </html> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script>

   var a=$("#moesource");
   function reverseString(str) {
       return str ===  ?  : reverseString(str.substr(1)) + str.charAt(0);
   }
   function REP(){
       if($("#bwiki").html()===undefined){

$("#jie").append('

请注意,转换完的界面仍可能存在格式不匹配,请手动调整!


' +

               '<textarea id="bwiki" style="height: 300px;width: 800px;" placeholder="ces" type="text"></textarea>');
       }
       data=a.val();
       try {
           data = data.replace("== 原型 ==", );
           //find_name_origin
           const find_name_origin = new RegExp('===( |)马名考据( |)===\n(?<name_origin_content>([^=]*))(=|)', "g");
           name_origin = find_name_origin.exec(data);
           data = data.replace(name_origin[0], );
           name_origin_text = name_origin.groups.name_origin_content;
           insert_pos = (/。/g.exec(data).index);
           data = data.substring(0, insert_pos + 1) + name_origin_text.replace('\n', ) + data.substring(insert_pos + 1);
           //find_title
           uma_name = $("#horse_name").val();
           const find_title = new RegExp("(?<title_text1>「[^']*」)|(?<title_text2>「[^']*」)");
           title = find_title.exec(data);
           title_text = title.groups.title_text1 === undefined ? title.groups.title_text1 : title.groups.title_text1
           data = data.replace(title[0], "|文案贡献者=本文引自"+uma_name+" 萌娘百科-" + uma_name + "页,文字内容默认使用《知识共享 署名-非商业性使用-相同方式共享 3.0》协议,具体贡献者请参照"+uma_name+"&action=history 历史贡献页\n|正文=\nh1" + uma_name + "——" + title_text);
           //find_toggle_content
           data = data.replace(new RegExp("\{\{Toggle 内联按钮\n\\|button=点此展开/折叠\n\\|prefix=【\n\\|suffix=】\n\\|clear=false\n\\|content=", 'g').exec(data)[0], );
           begin = 0;
           var first_left_bracket_index = /(\{\{)/g.exec(data.substring(begin)).index;
           var first_right_bracket_index = /}}/g.exec(data.substring(begin)).index;
           counter = 0;
           while (counter < 100 && begin + first_left_bracket_index < begin + first_right_bracket_index) {
               begin = begin + first_right_bracket_index + 2;
               first_left_bracket_index = /(\{\{)/g.exec(data.substring(begin)).index;
               first_right_bracket_index = /}}/g.exec(data.substring(begin)).index;
           }
           data = data.substring(0, begin + first_right_bracket_index) + data.substring(begin + first_right_bracket_index + 2)
           //remove_lj
           const remove_lj = new RegExp("模板:Lj\\])*)}}", "g");
           Array.from(remove_lj[Symbol.matchAll](data), (item) => {
                   data = String(data.replace(item[0], item.groups.lj_str));
               }
           );
           //change_cquote
           const remove_cquote = new RegExp("模板:Cquote\\])*)}}", "g");
           Array.from(remove_cquote[Symbol.matchAll](data), item => {

data = data.replace(item[0], "

" + item.groups.cquote_str + "

");

           });
           //remove_blackstr
           const remove_blackstr = new RegExp("模板:黑幕\\])*)}}", "g");
           Array.from(remove_blackstr[Symbol.matchAll](data), item => {
               data = data.replace(item[0], item.groups.black_str);
           });
           //replace_moewiki_pic
           const replace_moewiki_pic = new RegExp('\\[\\[File:(?<mgp_file_hyperlink>.*)\]\]', 'g');
           Array.from(replace_moewiki_pic[Symbol.matchAll](data), item => {
               contents = item.groups.mgp_file_hyperlink.split("|");
               data = data.replace(item[0], "(图片:" + contents[0] + ")\n↑" + contents[contents.length - 1] + "");
           });
           //remove_moewiki_innerlink
           const remove_moewiki_innerlink = new RegExp("\\[\\[[^\\[]*\\|(?<name>[^\\]\\n]*)\]\]", "g");
           Array.from(remove_moewiki_innerlink[Symbol.matchAll](data), item => {
               data = data.replace(item[0], "" + item.groups.name + "");
           });
           //replace_moewiki_video
           collection = [];
           const replace_moewiki_video = new RegExp('{{bilibiliVideo(?<vid_content>.*)}}', 'g');
           Array.from(replace_moewiki_video[Symbol.matchAll](data), item => {
               vid_title = /\\|title=(?<title>.*)/g.exec(item.groups.vid_content);

vid_p = /\\|page=(?

[0-9]*)/g.exec(item.groups.vid_content); vid_bv = /\\|id=(?<BV>[A-Za-z0-9]*)/g.exec(item.groups.vid_content).groups.BV; if (vid_title === null) { vid_title = "请补充标题"; } else { vid_title = vid_title.groups.title.substring(0,vid_title.groups.title.indexOf("|")); } replacement="(BV号:" + vid_bv + "," + vid_title; if(vid_p!==null){ replacement+=","+vid_p.groups.p; } replacement+=')' data = data.replace(item[0], replacement); }); //replace_second_title const replace_second_title = /\*[ ]*(?<sec_title>.*)/g Array.from(replace_second_title[Symbol.matchAll](data), item => { data = data.replace(item[0], 'h2' + item.groups.sec_title); }); $("#bwiki").val(data); } catch (e){ $("#bwiki").val(e); } } </script>