利用者:Yushu-kasai/tools/Style.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
// jastyle
var jastyle_version = '0.7.0.1';
jastyle_autostyle_namespaces = [ '', 'Category', 'Template', 'Portal', 'Help', 'Wikipedia', 'User', 'File' ];
function jastyle() {
var styleBasic = document.getElementById('basicStyle');
var styleZenhan = document.getElementById('zenhanStyle');
var styleQuot = document.getElementById('quotStyle');
var styleRoman = document.getElementById('romanStyle');
var styleWord = document.getElementById('wordStyle');
var styleHankana = document.getElementById('hankanaStyle');
var styleRefGroup = document.getElementById('refGroupStyle');
var styleRefEx = document.getElementById('refExStyle');
var styleRef = document.getElementById('refStyle');
var styleRefList = document.getElementById('refListStyle');
var styleHttps = document.getElementById('httpsStyle');
var styleList = document.getElementById('listStyle');
var styleHead = document.getElementById('headStyle');
var styleOptional = document.getElementById('optionalStyle');
var styleDebug = document.getElementById('debugStyle');
var wgPageName = mw.config.get('wgPageName');
//var wgIsArticle = mw.config.get('wgIsArticle');
//var wgAction = mw.config.get('wgAction');
//var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
//alert(wgPageName + '\r\n' + wgIsArticle + '\r\n' + wgAction + '\r\n' + wgNamespaceNumber);
var wgPageNameCnv = wgPageName.replace(/\_/g, ' ');
var wgPageNameReg = wgPageNameCnv.replace(/\(/g, '\\(').replace(/\)/g, '\\)').replace(/\+/g, '\\+').replace(/\?/g, '\\?').replace(/\$/g, '\\$');
// 「一般的な修正」にチェックがついていなかったら処理を抜ける
if(styleBasic && !styleBasic.checked) return;
var strips = new Array();
var edit = document.getElementById('wpTextbox1');
var out = edit.value.
replace(/^/, '作業用</ref>').
replace(/$/, '<ref>作業用').
replace(/( \[\[/g, '([[').
replace(/\]\] )/g, ']])').
replace(/ +\|/g, ' |').
replace(/ ?\(([^\(\)(]+))/g, '($1)').
replace(/(([^()\(]+)\)/g, '($1)').
replace(/(\t\s)(\t\s)+\n/g, '\n').
replace(/ +\n/g, '\n').
replace(/([ァ-ヴ])-([ァ-ヴ・])/g, '$1ー$2').
replace(/([ァ-ヴ])-(。|、)/g, '$1ー$2').
replace(/<nowiki>\|<\/nowiki>/g, '{{!}}').
replace(/\| *url *(http)/g, '|url=http').
replace(/\<ref\>[、。\,]/g, '<ref>').
replace(/\<ref( name *= *\"*[^\"\>\/]+\"*)*\>[、。\,]/g, '<ref$1>').
replace(/<nowiki><\/* *br *\/*><\/nowiki>/g, '<br />').
replace(/<nowiki> +<\/nowiki>/g, '').
replace(/\|( *)(access\-*date|date|publisher|newspaper|agency|work)( *)[-~=]/g, '|$1$2$3=').
replace(/\|( *)(access\-*date|date|publisher|newspaper|agency|work)( *)= *=/g, '|$1$2$3=').
replace(/\|( *)author=link/g, '|$1author-link').
replace(/\|( *)(publisher|author|newspaper|agency|work)= *\|/g, '|$1').
replace(/\| *pages *=([^\|\}]+)頁/g, '|pages=$1').
replace(/\| *df=ja */g, '').
replace(/(aceessdate|acceessdate|acceesdate|accesdate|acessdate|acccessdate|accessdata)/g, 'accessdate').
replace(/accessdat( *)=/g, 'accessdate$1=').
replace(/\|( *)Accessdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessdate( *)([0-9]{4})/g, '|$1accessdate$2=$3').
replace(/\|( *)[^a=\|]*ccessdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)a[^c=\|]*cessdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)ac[^c=\|]*essdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)acc[^e=\|]*ssdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)acce[^s=\|]*sdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)acces[^s=\|]*date( *)=/g, '|$1accessdate$2=').
replace(/\|( *)access[^d=\|]*ate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessd[^a=\|]*te( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessda[^t=\|]*e( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessdat[^e=\|]*( *)=/g, '|$1accessdate$2=').
replace(/\|( *)a[^=\|]+ccessdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)ac[^=\|]+cessdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)acc[^=\|]+essdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)acce[^=\|]+ssdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)acces[^=\|]+sdate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)access[^=\|\-]+date( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessd[^=\|]+ate( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessda[^=\|]+te( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessdat[^=\|]+e( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessdate[^=\| ]+( *)=/g, '|$1accessdate$2=').
replace(/\|( *)accessdate *\|/g, '|$1accessdate=').
replace(/\|( *)accessdaet( *)=/g, '|$1accessdate$2=').
replace(/\|( *)(dat|ate|daet|d[^a]te|da[^t]e)( *)=/g, '|$1date$3=').
replace(/\|( *)ccess/g, '|$1access').
replace(/\|( *)p*u*blishe*r*( *)=/g, '|$1publisher$2=').
replace(/\|( *)publishre*( *)=/g, '|$1publisher$2=').
replace(/\|( *)ublisher*( *)=/g, '|$1publisher$2=').
replace(/\|( *)[^p=\|]*ublisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)p[^u=\|]*blisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pu[^b=\|]*lisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pub[^l=\|]*isher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publ[^i=\|]*sher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publi[^s=\|]*her( *)=/g, '|$1publisher$2=').
replace(/\|( *)publis[^h=\|]*er( *)=/g, '|$1publisher$2=').
replace(/\|( *)publish[^e=\|]*r( *)=/g, '|$1publisher$2=').
replace(/\|( *)publishe[^rd=\|]*( *)=/g, '|$1publisher$2=').
replace(/\|( *)p[^=\|]+ublisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pu[^=\|]+blisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pub[^=\|]+lisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publ[^=\|]+isher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publi[^=\|]+sher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publis[^=\|]+her( *)=/g, '|$1publisher$2=').
replace(/\|( *)publish[^=\|]+er( *)=/g, '|$1publisher$2=').
replace(/\|( *)publishe[^=\|]+r( *)=/g, '|$1publisher$2=').
replace(/\|( *)publisher[^=\| ]+( *)=/g, '|$1publisher$2=').
replace(/\|( *)pbulisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pulbisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pubilsher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publsiher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publihser( *)=/g, '|$1publisher$2=').
replace(/\|( *)publisehr( *)=/g, '|$1publisher$2=').
replace(/\|( *)puiblisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)[o@P]ublisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)[^pP]ublisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)p.ublisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pu.blisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)pub.lisher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publ.isher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publi.sher( *)=/g, '|$1publisher$2=').
replace(/\|( *)publis.her( *)=/g, '|$1publisher$2=').
replace(/\|( *)publish.er( *)=/g, '|$1publisher$2=').
replace(/\|( *)publishe.r( *)=/g, '|$1publisher$2=').
replace(/\|( *)publisher( *)[\-\~:;]/g, '|$1publisher$2=').
replace(/\|( *)publisher( *)([^ \=2i])/g, '|$1publisher$2=$3').
replace(/\|( *)a*uthor*([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)(autore|auhtor|autohr)([0-9]*)( *)=/g, '|$1author$3$4=').
replace(/\|( *)[^a=]*uthor([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)a[^u=]*thor([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)au[^t=]*hor([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)aut[^h=]*or([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)auth[^o=]*r([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)autho[^r=]*([0-9]*)( *)=/g, '|$1author$2$3=').
replace(/\|( *)ebsite( *)=/g, '|$1website$2=').
replace(/\|( *)wbsite( *)=/g, '|$1website$2=').
replace(/\|( *)wesite( *)=/g, '|$1website$2=').
replace(/\|( *)webite( *)=/g, '|$1website$2=').
replace(/\|( *)webste( *)=/g, '|$1website$2=').
replace(/\|( *)websit( *)=/g, '|$1website$2=').
replace(/\|( *)ewbsite( *)=/g, '|$1website$2=').
replace(/\|( *)wbesite( *)=/g, '|$1website$2=').
replace(/\|( *)wesbite( *)=/g, '|$1website$2=').
replace(/\|( *)webiste( *)=/g, '|$1website$2=').
replace(/\|( *)webstie( *)=/g, '|$1website$2=').
replace(/\|( *)websiet( *)=/g, '|$1website$2=').
replace(/\|( *)[^w]ebsite( *)=/g, '|$1website$2=').
replace(/\|( *)w[^e]bsite( *)=/g, '|$1website$2=').
replace(/\|( *)we[^b]site( *)=/g, '|$1website$2=').
replace(/\|( *)web[^s]ite( *)=/g, '|$1website$2=').
replace(/\|( *)webs[^i]te( *)=/g, '|$1website$2=').
replace(/\|( *)websi[^t]e( *)=/g, '|$1website$2=').
replace(/\|( *)websit[^e]( *)=/g, '|$1website$2=').
replace(/\|( *)ewspaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)nwspaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)nespaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newpaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newsaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspaer( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspapre*( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspape( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspapar( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspeper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspepar( *)=/g, '|$1newspaper$2=').
replace(/\|( *)nwespaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)[^n=\|]ewspaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)n[^e=\|]wspaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)ne[^w=\|]spaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)new[^s=\|]paper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)news[^p=\|]aper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newsp[^a=\|]per( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspa[^p=\|]er( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspap[^e=\|]r( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspape[^r=\|]( *)=/g, '|$1newspaper$2=').
replace(/\|( *)n[^=\|]+ewspaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)ne[^=\|]+wspaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)new[^=\|]+spaper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)news[^=\|]+paper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newsp[^=\|]+aper( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspa[^=\|]+per( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspap[^=\|]+er( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspape[^=\|]+r( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspaper[^= \|\}]+( *)=/g, '|$1newspaper$2=').
replace(/\|( *)newspaper( +)([^= \|\}]+)/g, '|$1newspaper$2=$3').
replace(/\|( *)newspaper([^= \|\}]+)/g, '|$1newspaper=$2').
replace(/\|( *)a *u *t *h *o *r( *)=/g, '|$1author$2=').
replace(/\|( *)y*ear*( *)=/g, '|$1year$2=').
replace(/\|( *)m*onth*( *)=/g, '|$1month$2=').
replace(/(date|access\-*date|archive\-*date) *= *January ([0-9]{1}), *([0-9]{4})/g, '$1=$3-01-0$2').
replace(/(date|access\-*date|archive\-*date) *= *January ([0-9]{2}), *([0-9]{4})/g, '$1=$3-01-$2').
replace(/(date|access\-*date|archive\-*date) *= *February ([0-9]{1}), *([0-9]{4})/g, '$1=$3-02-0$2').
replace(/(date|access\-*date|archive\-*date) *= *February ([0-9]{2}), *([0-9]{4})/g, '$1=$3-02-$2').
replace(/(date|access\-*date|archive\-*date) *= *March ([0-9]{1}), *([0-9]{4})/g, '$1=$3-03-0$2').
replace(/(date|access\-*date|archive\-*date) *= *March ([0-9]{2}), *([0-9]{4})/g, '$1=$3-03-$2').
replace(/(date|access\-*date|archive\-*date) *= *April ([0-9]{1}), *([0-9]{4})/g, '$1=$3-04-0$2').
replace(/(date|access\-*date|archive\-*date) *= *April ([0-9]{2}), *([0-9]{4})/g, '$1=$3-04-$2').
replace(/(date|access\-*date|archive\-*date) *= *May ([0-9]{1}), *([0-9]{4})/g, '$1=$3-05-0$2').
replace(/(date|access\-*date|archive\-*date) *= *May ([0-9]{2}), *([0-9]{4})/g, '$1=$3-05-$2').
replace(/(date|access\-*date|archive\-*date) *= *June ([0-9]{1}), *([0-9]{4})/g, '$1=$3-06-0$2').
replace(/(date|access\-*date|archive\-*date) *= *June ([0-9]{2}), *([0-9]{4})/g, '$1=$3-06-$2').
replace(/(date|access\-*date|archive\-*date) *= *July ([0-9]{1}), *([0-9]{4})/g, '$1=$3-07-0$2').
replace(/(date|access\-*date|archive\-*date) *= *July ([0-9]{2}), *([0-9]{4})/g, '$1=$3-07-$2').
replace(/(date|access\-*date|archive\-*date) *= *August ([0-9]{1}), *([0-9]{4})/g, '$1=$3-08-0$2').
replace(/(date|access\-*date|archive\-*date) *= *August ([0-9]{2}), *([0-9]{4})/g, '$1=$3-08-$2').
replace(/(date|access\-*date|archive\-*date) *= *September ([0-9]{1}), *([0-9]{4})/g, '$1=$3-09-0$2').
replace(/(date|access\-*date|archive\-*date) *= *September ([0-9]{2}), *([0-9]{4})/g, '$1=$3-09-$2').
replace(/(date|access\-*date|archive\-*date) *= *October ([0-9]{1}), *([0-9]{4})/g, '$1=$3-10-0$2').
replace(/(date|access\-*date|archive\-*date) *= *October ([0-9]{2}), *([0-9]{4})/g, '$1=$3-10-$2').
replace(/(date|access\-*date|archive\-*date) *= *November ([0-9]{1}), *([0-9]{4})/g, '$1=$3-11-0$2').
replace(/(date|access\-*date|archive\-*date) *= *November ([0-9]{2}), *([0-9]{4})/g, '$1=$3-11-$2').
replace(/(date|access\-*date|archive\-*date) *= *December ([0-9]{1}), *([0-9]{4})/g, '$1=$3-12-0$2').
replace(/(date|access\-*date|archive\-*date) *= *December ([0-9]{2}), *([0-9]{4})/g, '$1=$3-12-$2').
replace(/(\| *)(date|access\-*date|archive\-*date)([0-9]{4})\-([0-9]{1,2})\-([0-9]{1,2})( *)([\}\|])/g, '$1$2=$3-$4-$5$6$7').
replace(/(\| *)(date|access\-*date|archive\-*date)([0-9]{4})年([0-9]{1,2})月([0-9]{1,2})日( *)([\}\|])/g, '$1$2=$3年$4月$5日$6$7').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})\-([0-9]{2})([0-9]{2}) *([\}\|])/g, '$1$2$3=$4$5-$6-$7$8').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})[\/\.]([0-9]+)[\/\.]([0-9]+)([^0-9])/g, '$1$2$3=$4$5-$6-$7$8').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})([0-9]{2})([0-9]{2})([^0-9])/g, '$1$2$3=$4$5-$6-$7$8').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})\-([0-9])([0-9]{2})\-([0-9]{2})([^0-9])/g, '$1$2$3=$4$5-$7-$8$9').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})\-([0-9]{2})\-([0-9])([0-9]{2})([^0-9])/g, '$1$2$3=$4$5-$6-$8$9').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})\-0([0-9])\-([0-9])([^0-9])/g, '$1$2$3=$4$5-0$6-0$7$8').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})\-([0-9])\-0([0-9])([^0-9])/g, '$1$2$3=$4$5-0$6-0$7$8').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})\-\-*([0-9]{2})\-\-*([0-9]{2})([^0-9])/g, '$1$2$3=$4$5-$6-$7$8').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)= *=( *)([0-9]{4})/g, '$1$2$3=$4$5').
replace(/(\| *)(dat|access\-*dat|archive\-*dat)a( *= *[0-9]{4}\-[0-9]{2}\-[0-9]{2}[^0-9])/g, '$1$2e$3').
//replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4})年([0-9]{2})月([0-9]{2})日/g, '$1$2$3=$4$5-$6-$7').
replace(/(\| *)(date|access\-*date|archive\-*date)( *)=( *)([0-9]{4}年[0-9]{1,2}月[0-9]{1,2}日)/g, function(){ return(arguments[1] + arguments[2] + arguments[3] + '=' + arguments[4] + replaceDate(arguments[5])); }).
replace(/\| *\|( *)(date|access\-*date|archive\-*date|publisher|journal|author|url|title)( *=)/g, '|$1$2$3').
replace(/\|( *)(date|access\-*date|archive\-*date|publisher|journal|author|url|title)( *)=+/g, '|$1$2$3=').
replace(/|( *)(date|access\-*date|archive\-*date|publisher|journal|author|url|title)( *)=+/g, '|$1$2$3=').
replace(/([0-9]{4})[--]([0-9]{1,2})[--]([0-9]{1,2})/g, '$1-$2-$3').
replace(/\[(hhttp|ttp|htp)/g, '[http').
replace(/\[ http/g, '[http').
replace(/ていいる/g, 'ている').
replace(/していおり([^ん])/g, 'しており$1').
replace(/ていおり([^ん])/g, 'ており$1').
replace(/しため、/g, 'したため、').
replace(/しために/g, 'したために').
replace(/されおり/g, 'されており').
replace(/られいる/g, 'られている').
replace(/られいた/g, 'られていた').
replace(/られいて/g, 'られていて').
replace(/られおり/g, 'られており').
replace(/れおり/g, 'れており').
replace(/されるる。/g, 'される。').
replace(/されたた。/g, 'された。').
replace(/されたたため/g, 'されたため').
replace(/されたいた/g, 'されていた').
replace(/されが、/g, 'されたが、').
replace(/さたが、/g, 'されたが、').
replace(/れたいた/g, 'れていた').
replace(/いるは、/g, 'いるのは、').
replace(/たた。/g, 'た。').
replace(/([^だ])ことなった/g, '$1こととなった').
replace(/<!-- +-->/g, '').
replace(/^\n+/g, '').
replace(/‼︎/g, '!!'). // U+203C
replace(/⁉️/g, '!?'). // U+2049
replace(/❓/g, '?'). // U+2753
replace(/❔/g, '?'). // U+2754
replace(/❕/g, '!'). // U+2755
replace(/❗/g, '!'); // U+2756
// 「debug」にチェックがついていたら処理を行なう
if(styleDebug && styleDebug.checked) {
debugL = "【";
debugR = "】";
} else {
debugL = "";
debugR = "";
}
// 「全角文字を修正」にチェックがついていたら処理を行なう
if(styleZenhan && styleZenhan.checked) {
// 全角英数・記号
out = out.
//replace(/(<\/ref>|<ref[^>\/]+\/>)([^<>]+)(<ref[^>]*>|<ref[^>\/]+\/>)/g, function(){ return(arguments[1] + replaceZenToHan(arguments[2]) + arguments[3]); });
replace(/(<\/ref>|<ref[^>\/]+\/>)(?!<ref)([\s\S]+?)(<ref[^>]*>|<ref[^>\/]+\/>)/g, function(){ return(arguments[1] + debugL + replaceZenToHan(arguments[2]) + debugR + arguments[3]); });
}
// 「英字括弧を修正」にチェックがついていたら処理を行なう
if(styleQuot && styleQuot.checked) {
out = out.
replace(/""/g, '"').
//replace(/〝/g, '「').replace(/〟/g, '」').
replace(/〝/g, '“').replace(/〟/g, '”').
replace(/′/g, "'").
replace(/’/g, "'").
replace(/”([^“”]+)”/g, '“$1”').
replace(/“([^“”]+)“/g, '“$1”');
}
// 「ローマ数字を修正」にチェックがついていたら処理を行なう
if(styleRoman && styleRoman.checked) {
out = out.
replace(/Ⅰ/g, 'I').replace(/Ⅱ/g, 'II').replace(/Ⅲ/g, 'III').replace(/Ⅳ/g, 'IV').replace(/Ⅴ/g, 'V').
replace(/Ⅵ/g, 'VI').replace(/Ⅶ/g, 'VII').replace(/Ⅷ/g, 'VIII').replace(/Ⅸ/g, 'IX').replace(/Ⅹ/g, 'X');
}
// 「日本語表記を簡単化」にチェックがついていたら処理を行なう
if(styleWord && styleWord.checked) {
out = out.
replace(/(曽て|嘗て)/g, 'かつて').
replace(/いづれ/g, 'いずれ').
replace(/生れ/g, '生まれ').
replace(/歿/g, '没').
replace(/けっきょく/g, '結局').
replace(/始る/g, '始める').
replace(/乍ら/g, 'ながら').
replace(/([^あ-ん])ととして/g, '$1として').
replace(/([^あ-ん(\(「])でで([^あ-ん)\)」])/g, '$1で$2').
replace(/([^あ-ん(\(「])にに([^あ-ん)\)」])/g, '$1に$2').
replace(/([^あ-ん(\(「])をを([^あ-ん)\)」])/g, '$1を$2').
//replace(/ていてる/g, 'ている').
replace(/いてる。/g, 'いている。').
replace(/ていてい*る/g, 'ている').
replace(/ていてい*た/g, 'ていた').
//replace(/たいう/g, 'たという').
replace(/さた。/g, 'された。').
replace(/されてた/g, 'されていた').
replace(/されてる/g, 'されている').
replace(/こと(発表|発見|決定)され/g, 'ことが$1され').
replace(/こと(発表|発見|決定)/g, 'ことを$1').
//replace(/迄/g, 'まで').
//replace(/及び/g, 'および').
//replace(/並び/g, 'ならび').
replace(/尚且つ/g, 'なおかつ').
replace(/且つ/g, 'かつ').
replace(/([、。\n])(なお|しかし)。/g, '$1$2、').
//replace(/然も/g, 'さも').
//replace(/又は/g, 'または').
replace(/若しくは/g, 'もしくは').
replace(/或いは/g, 'あるいは').
replace(/即ち/g, 'すなわち').
replace(/専ら/g, 'もっぱら').
//replace(/故に/g, 'ゆえに').
//replace(/更に/g, 'さらに').
replace(/([、。\n\>(])尚/g, '$1なお').
replace(/([、。\n\>(])但し/g, '$1ただし').
replace(/([、。\n\>(])併し/g, '$1しかし').
replace(/([、。\n\>(])然し/g, '$1しかし').
replace(/因みに/g, 'ちなみに').
replace(/所謂/g, 'いわゆる').
//replace(/其の/g, 'その').
replace(/或る/g, 'ある').
replace(/ある感覚/g, '或る感覚').
//replace(/貴方/g, 'あなた').
replace(/其れ/g, 'それ').
replace(/悉く/g, 'ことごとく').
//replace(/何処/g, 'どこ').
//replace(/何故/g, 'なぜ').
replace(/殆ど/g, 'ほとんど');
}
out = out.
replace(/、。/g, '。').
replace(/([うたる])。、/g, '$1。').
replace(/▪/g, '・').
replace(/と[い言]う[い言]う/g, 'という').
replace(/れらて/g, 'られて').
replace(/らてい([る|た|て])/g, 'られてい$1').
replace(/えらえ/g, 'えられ').
replace(/えらて/g, 'えられて').
replace(/えれて/g, 'えられて').
replace(/えらた/g, 'えられた').
replace(/えれた/g, 'えられた').
replace(/えれる/g, 'えられる').
replace(/かからわず/g, 'かかわらず').
replace(/かかわず/g, 'かかわらず').
replace(/と*(」|』)(いう|言う)/g, '$1と$2').
replace(/と*(」|』)(いって|言って)/g, '$1と$2').
replace(/(」|』)とう([^あ-ん])/g, '$1という$2').
replace(/とう(いう|言う)/g, 'と$1').
replace(/(あ|お|な)リ、/g, '$1り、').
replace(/(\]\]/g, ']](').
replace(/([=\*])( *)\[([^\[\]]+)\]\]/g, '$1$2[[$3]]').
replace(/heigth/g, 'height').
replace(/arign( *)=/g, 'align$1=').
replace(/align=(left|center|right)( |\|)/g, 'align="$1"$2').
replace(/valign=(top|middle|bottom)( |\|)/g, 'valign="$1"$2').
replace(/frame-align=\"center\"/g, 'frame-align=center').
replace(/width=([0-9]+px)([ \|>])/g, 'width="$1"$2').
replace(/height=([0-9]+px)([ \|>])/g, 'height="$1"$2').
replace(/ (style|class|width|align|valign)( *)=/g, ' $1$2=').
replace(/"style *=/g, '" style=').
replace(/style=\";/g, 'style="').
replace(/style=font-size:(smaller;*|small;*)/g, 'style="font-size:$1"').
replace(/class="wikitable style=([^:]+:[^"]+)"/g, 'class="wikitable" style="$1"').
replace(/class="wikitable" " style/g, 'class="wikitable" style').
replace(/class="wikitable" "/g, 'class="wikitable" style="').
//replace(/font-size:90%;"\|/g, 'font-size:90%;"').
//replace(/ *height:[^;"\|]+;"\|/g, '"|').
replace(/backgr*o*u*n*d/g, 'background').
replace(/text *- *align/g, 'text-align').
replace(/『「([^「『」]+)』/g, '『$1』').
replace(/「『([^「『』]+)」/g, '「$1」').
replace(/「([^「『」]+)』/g, '「$1」').
replace(/『([^「『』]+)」/g, '『$1』');
// 「半角仮名を修正」にチェックがついていたら処理を行なう
if(styleHankana && styleHankana.checked) {
out = out.
replace(/、/g, '、').replace(/。/g, '。').
replace(/ガ/g, 'ガ').replace(/ギ/g, 'ギ').replace(/グ/g, 'グ').replace(/ゲ/g, 'ゲ').replace(/ゴ/g, 'ゴ').
replace(/ザ/g, 'ザ').replace(/ジ/g, 'ジ').replace(/ズ/g, 'ズ').replace(/ゼ/g, 'ゼ').replace(/ゾ/g, 'ゾ').
replace(/ダ/g, 'ダ').replace(/ヂ/g, 'ヂ').replace(/ヅ/g, 'ヅ').replace(/デ/g, 'デ').replace(/ド/g, 'ド').
replace(/バ/g, 'バ').replace(/ビ/g, 'ビ').replace(/ブ/g, 'ブ').replace(/ベ/g, 'ベ').replace(/ボ/g, 'ボ').
replace(/パ/g, 'パ').replace(/ピ/g, 'ピ').replace(/プ/g, 'プ').replace(/ペ/g, 'ペ').replace(/ポ/g, 'ポ').
replace(/ヴ/g, 'ヴ').
replace(/ァ/g, 'ァ').replace(/ィ/g, 'ィ').replace(/ゥ/g, 'ゥ').replace(/ェ/g, 'ェ').replace(/ォ/g, 'ォ').
replace(/ッ/g, 'ッ').replace(/ャ/g, 'ャ').replace(/ュ/g, 'ュ').replace(/ョ/g, 'ョ').
replace(/ア/g, 'ア').replace(/イ/g, 'イ').replace(/ウ/g, 'ウ').replace(/エ/g, 'エ').replace(/オ/g, 'オ').
replace(/カ/g, 'カ').replace(/キ/g, 'キ').replace(/ク/g, 'ク').replace(/ケ/g, 'ケ').replace(/コ/g, 'コ').
replace(/サ/g, 'サ').replace(/シ/g, 'シ').replace(/ス/g, 'ス').replace(/セ/g, 'セ').replace(/ソ/g, 'ソ').
replace(/タ/g, 'タ').replace(/チ/g, 'チ').replace(/ツ/g, 'ツ').replace(/テ/g, 'テ').replace(/ト/g, 'ト').
replace(/ナ/g, 'ナ').replace(/ニ/g, 'ニ').replace(/ヌ/g, 'ヌ').replace(/ネ/g, 'ネ').replace(/ノ/g, 'ノ').
replace(/ハ/g, 'ハ').replace(/ヒ/g, 'ヒ').replace(/フ/g, 'フ').replace(/ヘ/g, 'ヘ').replace(/ホ/g, 'ホ').
replace(/マ/g, 'マ').replace(/ミ/g, 'ミ').replace(/ム/g, 'ム').replace(/メ/g, 'メ').replace(/モ/g, 'モ').
replace(/ヤ/g, 'ヤ').replace(/ユ/g, 'ユ').replace(/ヨ/g, 'ヨ').
replace(/ラ/g, 'ラ').replace(/リ/g, 'リ').replace(/ル/g, 'ル').replace(/レ/g, 'レ').replace(/ロ/g, 'ロ').
replace(/ワ/g, 'ワ').replace(/ヲ/g, 'ヲ').replace(/ン/g, 'ン').replace(/ー/g, 'ー').
replace(/゙/g, '゛').replace(/゚/g, '゜');
}
out = out.
// 機種依存記号
replace(/㍉/g, 'ミリ').replace(/㌔/g, 'キロ').
replace(/㌢/g, 'センチ').replace(/㍍/g, 'メートル').
replace(/㌘/g, 'グラム').replace(/㌧/g, 'トン').replace(/㌃/g, 'アール').
replace(/㌶/g, 'ヘクタール').replace(/㍑/g, 'リットル').
replace(/㍗/g, 'ワット').replace(/㌍/g, 'カロリー').replace(/㌦/g, 'ドル').
replace(/㌣/g, 'セント').replace(/㌫/g, 'パーセント').
replace(/㍊/g, 'ミリバール').replace(/㌻/g, 'ページ').
replace(/㎜/g, 'mm').replace(/㎝/g, 'cm').replace(/㎞/g, 'km').
replace(/㎎/g, 'mg').replace(/㎏/g, 'kg').replace(/㏄/g, 'cc').replace(/№/g, 'No.').
replace(/㏍/g, 'K.K.').replace(/℡/g, 'Tel').replace(/㊤/g, '(上)').
replace(/㊥/g, '(中)').replace(/㊦/g, '(下)').replace(/㊧/g, '(左)').
replace(/㊨/g, '(右)').replace(/㈱/g, '(株)').replace(/㈲/g, '(有)').
replace(/㈹/g, '(代)').replace(/㍾/g, '明治').replace(/㍽/g, '大正').
replace(/㍼/g, '昭和').replace(/㍻/g, '平成').
//テンプレート用条件文・変数
replace(/\{\{PAGENAME\}\}/g, wgPageNameCnv).
//本文中の自己リンク
replace(new RegExp("\\[\\[" + wgPageNameReg + "\\]\\]", "g"), "'''" + wgPageNameCnv + "'''").
replace(new RegExp("\\[\\[" + wgPageNameReg + "\\|(.*?)\\]\\]", "g"), "'''$1'''").
replace(/''''''/g, "'''").
replace(/\[\[(''+)([^\[\]']+)(''+)\]\]/g, "$1[[$2]]$3").
replace(/\]\]\[([^\[\]]+)\]\]/g, ']][[$1]]').
replace(/\[\[([^\[\]]+)\]\[\[/g, '[[$1]][[').
replace(/([\*:])\[ \[/g, '$1 [[').
replace(/([^\[])\[ \[([^\[])/g, '$1[[$2').
replace(/\[\[( | )+/g, '[[').
replace(/( | )+\]\]/g, ']]').
replace(/([^\[])\[\[\[([^\[])/g, '$1[[$2').
//replace(/([^\]])\]\]\]([^\]])/g, '$1]]$2');
replace(/\[\[([^\[\]]+)([^\[\]])\]\]\]([^\]])/g, '[[$1$2]]$3').
replace(/\{\{([^\{\}]+)([^\{\}])\}\}\}([^\}])/g, '{{$1$2}}$3').
//リンク先とリンク文が同一(\1は後方参照)
replace(/\[\[(.*?)\|(\1)\]\]/g, '[[$1]]').
//replace(/\[\[(.*?)( \(.+\))\|(\1)(()\(\):;)\]\]/g, '[[$1$2|$1]]$3').
replace(/「\[\[(.*?)\|(\1)」\]\]/g, '「[[$1]]」').
replace(/『\[\[(.*?)\|(\1)』\]\]/g, '『[[$1]]』').
replace(/「\[\[([^「」\|\[\]]+?)\|([^「」\|\[\]]+?)」\]\]/g, '「[[$1|$2]]」').
replace(/『\[\[([^『』\|\[\]]+?)\|([^『』\|\[\]]+?)』\]\]/g, '『[[$1|$2]]』').
replace(/「\[\[([^「」\|\[\]]+?)」\]\]/g, '「[[$1]]」').
replace(/『\[\[([^『』\|\[\]]+?)』\]\]/g, '『[[$1]]』').
replace(/\[\[[0-9]{3,4}年\|([0-9]{3,4}年)\]\]/g, '[[$1]]').
replace(/\[\[[0-9]{1,2}月[0-9]{1,2}日\|([0-9]{1,2}月[0-9]{1,2}日)\]\]/g, '[[$1]]').
replace(/\[\[[0-9]{1,2}月\|([0-9]{1,2}月)\]\]/g, '[[$1]]').
replace(/\[\[[0-9]{1,2}日\|([0-9]{1,2}日)\]\]/g, '[[$1]]').
replace(/\{\{(Template|template|テンプレート)\:/g, '{{').
replace(/Wikipedia:ウィキプロジェクト /g, 'プロジェクト:').
replace(/\{\{Birth date/gi, '{{生年月日と年齢').
replace(/\{\{Cite /gi, '{{Cite ').
replace(/\{\{Citeweb/gi, '{{Cite web').
replace(/\{\{Cite Web/g, '{{Cite web').
replace(/\{\{Citenews/gi, '{{Cite news').
replace(/\{\{Cite News/g, '{{Cite news').
replace(/\{\{Cite newspaper/gi, '{{Cite news').
replace(/\{\{Citebook/gi, '{{Cite book').
replace(/\{\{Cite Book/g, '{{Cite book').
replace(/\{\{Citejournal/gi, '{{Cite journal').
replace(/\{\{Cite Journal/g, '{{Cite journal').
replace(/\{\{Cite *magazine/gi, '{{Cite journal').
replace(/\{\{(Cite|cite) *(web|news|book|journal)/g, '{{$1 $2').
replace(/\{\{PDFLink/g, '{{PDFlink').
replace(/(font-size|text-align|background-color)[:;;]/g, '$1:').
replace(/bgcolor=#?([0-9a-fA-F]{6})/g, 'bgcolor="#$1"').
replace(/bgcolor="([0-9a-fA-F]{6})"/g, 'bgcolor="#$1"').
replace(/bgcolor=(red|green|blue|black|white|yellow|thistle|lime|gold|silver|gray)/g, 'bgcolor="$1"').
replace(/! *style *= *\|/g, '!').
replace(/\| *style *= *\|/g, '|').
replace(/ style *= *\|/g, '|').
replace(/(style *= *\"text-align *: *(left|center|right);)( *)\|/g, '$1"$3|').
replace(/ +style( *)=/g, ' style$1=').
replace(/ +class( *)=/g, ' class$1=').
replace(/ style="([^"]+)([^;])" *style="([^"]+)"/g, ' style="$1$2; $3"').
replace(/ style="([^"]+)" *style="([^"]+)"/g, ' style="$1 $2"').
replace(/;*" "text-align/g, '; text-align').
replace(/"; "text-align/g, '; text-align').
replace(/; "/g, ';"').
replace(/;""/g, ';"').
replace(/;";"/g, ';"').
replace(/;";/g, ';"').
replace(/; ;/g, ';').
replace(/\|style="background:.*?"\|( *)(<b>|<strong>|''')<center>(.*?)<\/center>(<\/b>|<\/strong>|''')/gi, "!$1$3").
replace(/\|( *)(<b>|<strong>|''')<center>(.*?)<\/center>(<\/b>|<\/strong>|''')/gi, "!$1$3").
replace(/\n\!( *)'''([^']+)'''/g, '\n!$1$2').
replace(/'''([「『])([^』」]+)([』」])'''/g, "$1'''$2'''$3").
replace(/'''([「『])([^』」]+)'''([』」])/g, "$1'''$2'''$3").
replace(/([「『])'''([^』」]+)([』」])'''/g, "$1'''$2'''$3").
replace(/ (style|class)=" +/g, ' $1="').
replace(/ style="width="*/g, ' style="width:').
replace(/;;"/g, ';"').
replace(/\[\[category *:/g, '[[Category:').
//ミスで入力されたタグを除去
replace(/\{\{DEFAULTSORT\:\}\}/g, '').
replace(/\{\{デフォルトソート\:\}\}/g, '').
replace(/\[\[Category\:\]\]/g, '').
replace(/#REDIRECT \[\[\]\]/g, '').
replace(/<sup><\/sup>/g, '').
replace(/<sub><\/sub>/g, '').
replace(/<ins><\/ins>/g, '').
replace(/<code><\/code>/g, '').
replace(/<blockquote><\/blockquote>/g, '').
replace(/<ref><\/ref>/g, '').
replace(/<includeonly><\/includeonly>/g, '').
replace(/<noinclude><\/noinclude>/g, '').
replace(/<gallery><\/gallery>/g, '').
replace(/\[\{\{fullurl\:\|\}\} \]/g, '');
// 「脚注を修正 (group)」にチェックがついていたら処理を行なう
if(styleRefGroup && styleRefGroup.checked) {
out = out.
replace(/ group=""/g, '');
}
// 「脚注を修正 (name)」にチェックがついていたら処理を行なう
if(styleRefEx && styleRefEx.checked) {
out = out.
replace(/ name="*:([0-9]+)"*/g, ' name="ref$1"').
replace(/ name="*:([^">]+)"*/g, ' name="$1"').
replace(/\{\{R\|:([0-9]+)\}\}/g, '{{R|ref$1}}').
replace(/\{\{R\|:([^\}]+)\}\}/g, '{{R|$1}}').
replace(/ name="*example"*/g, ' name="refname"');
}
// 「脚注を修正 (全般)」にチェックがついていたら処理を行なう
//if((styleRef && styleRef.checked) || out.match(/(\{\{Reflist|<reference)/i)) {
if((styleRef && styleRef.checked) && out.match(/(\{\{Reflist|<reference)/i)) {
out = out.
replace(/< *ref *>/g, '<ref>').
replace(/< *\/ref *>/g, '</ref>').
//replace(/><\/ref>/g, ' />').
//replace(/<ref name ?= ?("?.*?"?) ?><\/ref>/g, '<ref name=$1 />').
//replace(/<ref name ?= ?("?.*?"?)\/>/g, '<ref name=$1 />').
replace(/<ref name *= *"*([^"<>]+)"* *><\/ref> */g, '{{R|$1}}').
replace(/<ref name *= *"*([^"<>]+)"* *\/> */g, '{{R|$1}}').
replace(/\{\{R\|([^\}]+)\}\}\{\{R\|([^\}]+)\}\}/g, '{{R|$1|$2}}').
replace(/\{\{R\|([^\}\|]+) +\}\}/g, '{{R|$1}}').
replace(/<\/(small|cite|span|div) \/>/g, '</$1></ref>').
replace(/-- \/>/g, '--></ref>').
replace(/ +\/>/g, ' />').
replace(/<ref *group *= */g, '<ref group=').
replace(/<ref *group *= *>/g, '<ref>').
replace(/<ref *group *>/g, '<ref>').
replace(/<ref *= *name/g, '<ref name=').
replace(/<ref *=/g, '<ref name=').
replace(/<ref *name *= */g, '<ref name=').
replace(/<ref *name *[“”""’']/g, '<ref name="').
replace(/<ref name[-~:;=]/g, '<ref name=').
replace(/<ref name=([^ >]*?)( *)>/g, '<ref name=$1>').
replace(/<ref name="+([^ >\/]+)"+([ \/]*)>/g, '<ref name="$1"$2>').
replace(/<ref name=""([^ >\/]+)([ \/]*)>/g, '<ref name="$1"$2>').
replace(/<ref name='+([^“”"″’'\/]*?)'+/g, '<ref name="$1"').
replace(/<ref name=[“”"″’']([^“”"″’'\/]*?)[“”"″’']( *)\/>/g, '<ref name="$1"$2/>').
replace(/<ref name=[“”"″’']([^“”"″’'\/]*?)[“”"″’']>/g, '<ref name="$1">').
replace(/<ref name=([^"]*?)"( *)\/>/g, '<ref name="$1"$2/>').
replace(/<ref name="([^"]*?)( *)\/>/g, '<ref name="$1"$2/>').
replace(/<ref name=([^"]*?)">/g, '<ref name="$1">').
replace(/<ref name="([^"]*?)>/g, '<ref name="$1">').
replace(/<ref name=([^"]*?)" *\/>/g, '<ref name="$1" />').
replace(/<ref name="([^"]*?)\/>/g, '<ref name="$1" />').
replace(/<ref *[“”"″’'] *name *= *([^“”"″’'\/]*?)[“”"″’']>/g, '<ref name="$1">').
replace(/<ref *[“”"″’']([^“”"″’'\/]*?)[“”"″’']>/g, '<ref name="$1">').
replace(/<REF +NAME/gi, '<ref name').
replace(/<REFERENCES/gi, '<references').
replace(/<REF/gi, '<ref').
replace(/\/REF>/gi, '/ref>').
replace(/<ref name=["']{2}([^"']+?)["']{2}/g, '<ref name="$1"').
replace(/<ref name *>/g, '<ref>').
replace(/<ref name= *>/g, '<ref>').
replace(/<ref name=" *">/g, '<ref>').
replace(/name==/g, 'name=').
replace(/name="=/g, 'name="').
replace(/<ref group *= *\"注釈\">([^<>]+?)<\/ref>/gi, '{{Efn|$1}}').
replace(/<ref group *= *\"注\">([^<>]+?)<\/ref>/gi, '{{Efn2|$1}}').
replace(/<ref group *= *\"注釈\">/gi, '{{Efn|<!--終わりに注意-->').
replace(/<ref group *= *\"注\">/gi, '{{Efn2|<!--終わりに注意-->').
replace(/\{\{#tag:ref\|group *= *\"注釈\"\|/gi, '{{Efn|').
replace(/\{\{#tag:ref\|group *= *\"注\"\|/gi, '{{Efn2|').
replace(/\{\{#tag:ref\|(.*?)\|group *= *\"注釈\"\}\}/gi, '{{Efn|$1}}').
replace(/\{\{#tag:ref\|(.*?)\|group *= *\"注\"\}\}/gi, '{{Efn2|$1}}').
replace(/\{\{#tag:ref\|/g, '{{Efn|<!--注意-->').
replace(/\{\{Refnest\|group *= *\"注釈\"\|/gi, '{{Efn|').
replace(/\{\{Refnest\|group *= *\"注\"\|/gi, '{{Efn2|').
replace(/\{\{efn/g, '{{Efn');
}
out = out.
//タグミスの修正
replace(/ref>>/g, 'ref>').
replace(/<<(\/*)ref/g, '<$1ref').
replace(/(<ref name="[^"]*"( \/)*>)>/g, '$1').
replace(/("[^"]*"( \/)*>)>/g, '$1').
replace(/\/>>/g, '/>').
replace(/\(+UTC\)+/g, '(UTC)').
//refタグの前後に句読点がついていたら後ろのみにする(\1は後方参照)
replace(/([、。\.])(<ref[^>\/]*?>[^<]*?<\/ref>)(\1)/g, '$2$3').
replace(/([、。\.])(<ref[^>\/]*?\/>)(\1)/g, '$2$3').
//replace(/\.(<ref[^>\/]*?>[^<]*?<\/ref>)。/g, '$1。').
replace(/([^a-zA-Z0-9\.])\.<ref/g, '$1<ref').
replace(/<\/ref> *<ref/g, '</ref><ref').
replace(/<sub ?\/>/g, '</sub>').
replace(/<sup ?\/>/g, '</sup>').
replace(/<(\/*)SUB>/g, '<$1sub>').
replace(/<(\/*)SUP>/g, '<$1sup>').
replace(/( | )+-( | )+/g, ' - ').
//replace(/(-|–)(\d*?) ?(,|,)(\d*?)(-|–)/g, '$1$2, $4$5').
////replace(/(-|–)(\d*?),(\d*?)(-|–)/g, '$1$2, $3$4').
replace(/<sup>(\d*)'''\n/g, '<sup>$1</sup>\'\'\'\n').
replace(/<sup>(\d*)\n/g, '<sup>$1</sup>\n').
replace(/<sup>r\n/g, '<sup>r</sup>\n').
replace(/==[ ]*\n/g, '==\n').
//括弧付きウィキリンク
replace(/ \((.*?)\)([\|\]\#])/g, ' ($1)$2').
replace(/\[\[([^\|\]]+) \(([^\)]+))([\|\]\#])/g, '[[$1 ($2)$3').
replace(/\[\[([^\|\]]+) *(([^\))]+)\)([\|\]\#])/g, '[[$1 ($2)$3').
replace(/\[\[([^\|\] #\_]+)\(([^\|\]]+)\)([\|\]\#])/g, '[[$1 ($2)$3').
replace(/ \((I|II|III|IV|V)\)([\|\]\#])/g, '($1)$2').
//括弧付きウィキリンクの括弧前の空白が多い場合
replace(/ +\(([^\[\]]+)\)([\|\]\#])/g, ' ($1)$2').
replace(/\[\[([^\|\]]+) \(([^\)\|]+)([\|\]\#])/g, '[[$1 ($2)$3').
//二重リンクの解消
replace(/\[\[([^\]]*?)\|\|([^\[]*?)\]\]/g, '[[$1|$2]]').
//replace(/px\|\]\]/g, 'px||]]').
replace(/\[\[(.*?)\|\]\]/g, '[[$1]]').
replace(/\[\[\|(.*?)\]\]/g, '[[$1]]').
replace(/²/g, '<sup>2</sup>').
replace(/㎟/g, 'mm<sup>2</sup>').
replace(/㎠/g, 'cm<sup>2</sup>').
replace(/㎡/g, 'm<sup>2</sup>').
replace(/㎢/g, 'km<sup>2</sup>').
replace(/³/g, '<sup>3</sup>').
replace(/㎣/g, 'mm<sup>3</sup>').
replace(/㎤/g, 'cm<sup>3</sup>').
replace(/㎥/g, 'm<sup>3</sup>').
replace(/㎦/g, 'km<sup>3</sup>').
//replace(/(mm|cm|km|m|mi|ft)²/g, '$1<sup>2</sup>').
//replace(/(mm|cm|km|m|mi|ft)³/g, '$1<sup>3</sup>').
replace(/\[\[1 E6 m[2²]\|/g, '[[平方キロメートル|').
//replace(/\{\{Sup\|(.*?)\}\}/gi, '<sup>$1</sup>').
replace(/<sup><small>(.*?)<\/small><\/sup>/g, '<sup>$1</sup>').
replace(/<small[ ]*\/[ ]*>/g, '</small>').
replace(/<center[ ]*\/[ ]*>/g, '</center>').
replace(/- \[([^\[\]]+)\]\]/g, '- [[$1]]').
replace(/htmll/g, 'html').
replace(/\[\[(https?:\/\/[^\]]+)\]/g, '[$1]').
replace(/\[(https?:\/\/[^\]]+)\]\]/g, '[$1]').
//replace(/\[https?:\/\/ja\.wikipedia\.org\/wiki\/(.*?) (.*?)\]/g, '[[$2]]').
//replace(/\[https?:\/\/ja\.wikipedia\.org\/wiki\/(.*?)\]/g, '[[$1]]').
replace(/\[https?:\/\/ja\.(m\.)*wikipedia\.org\/wiki\/(.*?)[ ](.*?)\]/g, function () { return("[[" + decodeURIComponent(arguments[2]) + "|" + arguments[3] + "]]"); } ).
replace(/\[https?:\/\/ja\.(m\.)*wikipedia\.org\/wiki\/(.*?)\]/g, function () { return("[[" + decodeURIComponent(arguments[2]) + "]]"); } ).
replace(/\[https?:\/\/([a-z]*?)\.wikipedia\.org\/wiki\/(.*?) (.*?)\]/g, '[[:$1:$2|$3]]').
replace(/\[https?:\/\/([a-z]*?)\.wikipedia\.org\/wiki\/(.*?)\]/g, '[[:$1:$2|$2]]').
replace(/\[\[(Category|カテゴリ) *[\::;] */gi, '[[$1:').
replace(/<BR/gi, '<br').
replace(/<br +>/gi, '<br />').
replace(/<br ?\/ +>/gi, '<br />').
replace(/<\/ ?br ?>/gi, '<br />').
replace(/<br[ ]+\/>/gi, '<br />').
replace(/ +<br \/> */gi, '<br />').
replace(/<br\\>/g, '<br />').
replace(/<\\br>/g, '<br />').
replace(/[ ]+<br/gi, '<br').
//replace(/<br *\/> /gi, '<br />').
replace(/<\!-- *\[\[en:\]\] *-->\n/gi, '').
replace(/\[\[([:;])+en([:;])+/gi, '[[:en:').
replace(/ *[(\(]*\[\[:en:\|en\]\][\))]* */gi, '').
replace(/ *[(\(]*\[\[:en:\|\]\][\))]* */gi, '').
replace(/\[\[(:en:[^\|]*?)\|:en:/gi, '[[$1|').
replace(/\[\[:en\|/gi, '[[:en:').
replace(/\[\[:en:en:/gi, '[[:en:').
replace(/\[\[:*w:en:/gi, '[[:en:').
replace(/\[\[:en:\|英語版ウィキペディア\]\]/gi, '[[英語版ウィキペディア]]').
replace(/\[\[:en:\|([^\]\|]+)\|([^\]\|]+)\]\]/gi, '[[:en:$1|$2]]').
replace(/\[\[w:\|([^\]\|]+)\|([^\]\|]+)\]\]/gi, '[[w:$1|$2]]').
replace(/\[\[:en:\|([^\]]+)\]\]/gi, '[[:en:$1|$1]]').
replace(/\[\[w:\|([^\]]+)\]\]/gi, '[[w:$1|$1]]').
replace(/\[\[:en:''([^\]\|]+)''\|([^\]\|]+)\]\]/gi, '[[:en:$1|$2]]').
replace(/\[\[:en:([^\|]+)\|\[:en\]\]\]/gi, '([[:en:$1|en]])').
replace(/\[\[:En:/g, '[[:en:');
// 「Reflistを修正」にチェックがついていたら処理を行なう
if((styleRefList && styleRefList.checked) || out.match(/\{\{Reflist/i)) {
out = out.
replace(/<references *\/>/gi, '{{Reflist}}').
replace(/<references group="(.*)" *\/>/gi, '{{Reflist|group="$1"}}');
}
out = out.
replace(/(\{\{脚注ヘルプ\}\}) /g, '$1').
replace(/(\{\{脚注ヘルプ\}\})([^\n])/g, '$1\n$2').
replace(/(\{\{Reflist[^}]*?\}\})(\{\{脚注ヘルプ\}\})/gi, '$2\n$1').
replace(/; *(脚注|注釈|出典)\n/gi, '=== $1 ===\n').
replace(/: *\{\{Reflist([^\{\}]*)\}\}/gi, '{{Reflist$1}}').
replace(/\{\{Reflist\|\}\}/gi, '{{Reflist}}').
replace(/\{\{reflist/g, '{{Reflist').
replace(/\{\{(Refs|Refls|脚注リスト)/gi, '{{Reflist').
replace(/\{\{Reflist\|group=([^"\}]*)\|(\d+)\}\}/gi, '{{Reflist|group="$1"|$2}}').
replace(/\{\{Reflist\|group=([^"\}]*)\}\}/gi, '{{Reflist|group="$1"}}').
replace(/\{\{Reflist *\| */g, '{{Reflist|').
replace(/\{\{notelist/g, '{{Notelist').
replace(/([ ]+)ISBN/g, ' ISBN').
replace(/([^(\(\{ ※、。\|!=]::)ISBN/g, '$1 ISBN').
replace(/([^\/])ISBN *([0-9])/g, '$1ISBN $2').
replace(/\{\{ISBN 2\|/g, '{{ISBN2|').
replace(/\|( *)ISBN 2( *)=/g, '|$1ISBN2$2=').
replace(/\{\{infobox/g, '{{Infobox').
replace(/\n([、。])/g, '$1');
// 「URLスキームを修正」にチェックがついていたら処理を行なう
if(styleHttps && styleHttps.checked) {
out = out.
replace(/([^\/])http:\/\//g, '$1https://');
}
// 「箇条書き時の空白を統一」にチェックがついていたら処理を行なう
if(styleList && styleList.checked) {
// リスト後の空白有無の揺れ
if(out.match(/\n\*[^ ]/)) {
out = out.replace(/\n([\*\:\;#]+)([^\*\:\;# ])/g, '\n$1 $2');
}
}
// 「見出しの空白を修正」にチェックがついていたら処理を行なう
if(styleHead && styleHead.checked) {
out = out.
replace(/(==+)([^=]+)(==+)\n/g, '$1 $2 $3\n').
replace(/\n(==+)[ ][ ]+/g, '\n$1 ').
replace(/[ ][ ]+(==+)\n/g, ' $1\n');
}
// 「その他の任意の修正」にチェックがついていたら処理を行なう
if(styleOptional && styleOptional.checked) {
out = out.
replace(/\[\[(file|image|画像|ファイル):/gi, '[[File:').
replace(/\|(thumbnail|サムネイル)(\||\]\])/g, '|thumb$2').
replace(/\{\{デフォルトソート:/g, '{{DEFAULTSORT:');
}
out = out.
replace(/作業用<\/ref>/, '').
replace(/<ref>作業用/, '');
// </ref>が存在して<references />がなかったら、脚注項目追加
if(out.match(/<\/ref>/)) {
if(!out.match(/<references.*\/>/) && !out.match(/\{\{(Reflist|reflist)/)) {
if(out.match(/== *脚注 *==/)) {
out = out.replace(/== *脚注 *==\n/g, '== 脚注 ==\n{{Reflist}}\n');
} else if(out.match(/== *関連項目 *==/)) {
out = out.replace(/== *関連項目 *==\n/g, '== 脚注 ==\n{{Reflist}}\n\n== 関連項目 ==\n');
} else if(out.match(/== *外部リンク *==/)) {
out = out.replace(/== *外部リンク *==\n/g, '== 脚注 ==\n{{Reflist}}\n\n== 外部リンク ==\n');
} else if(out.match(/\{\{(DEFAULTSORT|デフォルトソート)(.*?)\}\}/)) {
out = out.replace(/\{\{(DEFAULTSORT|デフォルトソート)(.*?)\}\}\n/g, '== 脚注 ==\n{{Reflist}}\n\n{{$1$2}}\n');
} else {
out = out + '\n\n== 脚注 ==\n{{Reflist}}\n';
}
}
}
edit.value = out + "\n";
return true;
}
// ここまでメイン
$(function() {
var f = document.getElementById("editform");
if(!f) return;
var html = '';
//if($A(jastyle_autostyle_namespaces).include(wgCanonicalNamespace)) {
// Event.observe('editform', 'submit', jastyle);
//}
if (f.addEventListener) {
f.addEventListener("submit", jastyle, false);
} else if (f.attachEvent) {
f.attachEvent("onsubmit", jastyle);
}
// チェックボックス
html += '<label for="basicStyle"><input type="checkbox" id="basicStyle" value="1" />一般的な書式修正</label> ';
html += '<br>';
// 「全角文字を修正」チェックボックス
html += '<label for="zenhanStyle"><input type="checkbox" id="zenhanStyle" value="1" />全角文字を修正</label> ';
// 「英字引用符を修正」チェックボックス
html += '<label for="quotStyle"><input type="checkbox" id="quotStyle" value="1" />英字引用符を修正</label> ';
// 「ローマ数字を修正」チェックボックス
html += '<label for="romanStyle"><input type="checkbox" id="romanStyle" value="1" />ローマ数字を修正</label> ';
// 「日本語表記を簡単化」チェックボックス
html += '<label for="wordStyle"><input type="checkbox" id="wordStyle" value="1" />日本語表記を簡単化</label> ';
// 「半角仮名を修正」チェックボックス
html += '<label for="hankanaStyle"><input type="checkbox" id="hankanaStyle" value="1" />半角仮名を修正</label> ';
html += '<br>';
// 「脚注を修正 (全般)」チェックボックス
html += '<label for="refStyle"><input type="checkbox" id="refStyle" value="1" />脚注を修正 (全般)</label> ';
// 「脚注を修正 (group)」チェックボックス
html += '<label for="refGroupStyle"><input type="checkbox" id="refGroupStyle" value="1" />脚注を修正 (group)</label> ';
// 「脚注を修正 (name)」チェックボックス
html += '<label for="refExStyle"><input type="checkbox" id="refExStyle" value="1" />脚注を修正 (name)</label> ';
// 「Reflistを修正」チェックボックス
html += '<label for="refListStyle"><input type="checkbox" id="refListStyle" value="1" />Reflistを修正</label> ';
html += '<br>';
// 「URLスキームを修正」チェックボックス
html += '<label for="httpsStyle"><input type="checkbox" id="httpsStyle" value="1" />URLスキームを修正</label> ';
// 「箇条書き時の空白を統一」チェックボックス
html += '<label for="listStyle"><input type="checkbox" id="listStyle" value="1" />箇条書き時の空白を統一</label> ';
html += '<br>';
// 「見出しの空白を修正」チェックボックス
html += '<label for="headStyle"><input type="checkbox" id="headStyle" value="1" />見出しの空白を修正</label> ';
// 「その他の任意の修正」チェックボックス
html += '<label for="optionalStyle"><input type="checkbox" id="optionalStyle" value="1" />その他の任意の修正</label> ';
// 「debug」チェックボックス
html += '<label for="debugStyle"><input type="checkbox" id="debugStyle" value="1" />debug</label> ';
// 実行ボタン
html += '<button type="button" style="font-size:xx-small;" onclick="jastyle()">style</button>';
var sl = document.getElementById("wpSummaryLabel");
var p = document.createElement('p');
p.innerHTML = html;
sl.parentNode.insertBefore(p, sl);
});
// 「全半角チェック」にチェックがついていたら処理を行なう
function replaceZenToHan(str) {
// 全角英数・記号
str = str.
replace(/1/g, '1').replace(/2/g, '2').replace(/3/g, '3').replace(/4/g, '4').replace(/5/g, '5').
replace(/6/g, '6').replace(/7/g, '7').replace(/8/g, '8').replace(/9/g, '9').replace(/0/g, '0').
replace(/A/g, 'A').replace(/B/g, 'B').replace(/C/g, 'C').replace(/D/g, 'D').replace(/E/g, 'E').replace(/F/g, 'F').
replace(/G/g, 'G').replace(/H/g, 'H').replace(/I/g, 'I').replace(/J/g, 'J').replace(/K/g, 'K').replace(/L/g, 'L').
replace(/M/g, 'M').replace(/N/g, 'N').replace(/O/g, 'O').replace(/P/g, 'P').replace(/Q/g, 'Q').replace(/R/g, 'R').
replace(/S/g, 'S').replace(/T/g, 'T').replace(/U/g, 'U').replace(/V/g, 'V').replace(/W/g, 'W').replace(/X/g, 'X').
replace(/Y/g, 'Y').replace(/Z/g, 'Z').
replace(/a/g, 'a').replace(/b/g, 'b').replace(/c/g, 'c').replace(/d/g, 'd').replace(/e/g, 'e').replace(/f/g, 'f').
replace(/g/g, 'g').replace(/h/g, 'h').replace(/i/g, 'i').replace(/j/g, 'j').replace(/k/g, 'k').replace(/l/g, 'l').
replace(/m/g, 'm').replace(/n/g, 'n').replace(/o/g, 'o').replace(/p/g, 'p').replace(/q/g, 'q').replace(/r/g, 'r').
replace(/s/g, 's').replace(/t/g, 't').replace(/u/g, 'u').replace(/v/g, 'v').replace(/w/g, 'w').replace(/x/g, 'x').
replace(/y/g, 'y').replace(/z/g, 'z').
replace(/「/g, '「').replace(/」/g, '」').replace(/ *・ */g, '・').replace(/ *· */g, '・').replace(/ *• */g, '・');
return str;
}