< Misplaced Pages:AutoEd
Browse history interactively ← Previous edit Next edit → Content deleted Content addedInline
Revision as of 22:27, 25 May 2020 view source Plastikspork (talk | contribs )Edit filter managers , Administrators 258,929 edits Plastikspork changed the content model of the page Misplaced Pages:AutoEd/htmltowikitext.js from "wikitext" to "JavaScript"Tag : content model change ← Previous edit
Revision as of 01:09, 21 October 2020 view source Plastikspork (talk | contribs )Edit filter managers , Administrators 258,929 edits Remove per talk pageNext edit →
Line 14:
Line 14:
// <hr>
// <hr>
str = str.replace(/()*<*HR*>/gi, '$1----');
str = str.replace(/()*<*HR*>/gi, '$1----');
str = str.replace(/(.)<*HR*>/gi, '$1\n----');
// str = str.replace(/(.)<*HR*>/gi, '$1\n----'); // Breaks wikitables
// Not really an HTML-to-wikitext fix, but close enough
// Not really an HTML-to-wikitext fix, but close enough
str = str.replace(/(\s*)<*REFERENCES*>/gim, '$1<references />');
str = str.replace(/(\s*)<*REFERENCES*>/gim, '$1<references />');
Revision as of 01:09, 21 October 2020
//Convert HTML to wikitext
function autoEdHTMLtoWikitext(str) {
// <b>, <strong>, <i>, and <em> tags
str = str.replace(/<(B|STRONG)*>((?:|<*\/>|<(+)(?:| *)>*<\/\3>)*?)<\/\1*>/gi, "'''$2'''");
str = str.replace(/<(I|EM)*>((?:|<*\/>|<(+)(?:| *)>*<\/\3>)*?)<\/\1*>/gi, "''$2''");
// </br>, <\br>, <br\>, <BR />, ...
str = str.replace(/<+BR*>/gim, '<br />');
str = str.replace(/<*BR*+*>/gim, '<br />');
// <.br>, <br.>, <Br>, ...
str = str.replace(/<*BR*>/gim, '<br>');
// <br>>, <<br />, <<br >> ...
str = str.replace(/<*(<br*>)/gim, '$1');
str = str.replace(/(<br*>)*>/gim, '$1');
// <hr>
str = str.replace(/()*<*HR*>/gi, '$1----');
// str = str.replace(/(.)<*HR*>/gi, '$1\n----'); // Breaks wikitables
// Not really an HTML-to-wikitext fix, but close enough
str = str.replace(/(\s*)<*REFERENCES*>/gim, '$1<references />');
// Repeated references tag
str = str.replace(/(<references \/>)*\1/gim, '$1');
// Make sure <H1>, ..., <H6> is after a newline
str = str.replace(/()*(<H*>)/gim, '$1\n$2');
// Make sure </H1>, ..., </H6> is before a newline
str = str.replace(/(<\/H*>)*()/gim, '$1\n$2');
// Remove newlines from inside <H1>, ..., <H6>
var loopcount = 0;
while( str.search( /<H()*>(?:|<\/?*>)*?<\/H\1*>/gim ) >= 0 && loopcount <= 10 ) {
str = str.replace(/(<H)()(*>(?:|<\/?*>)*?)((?:|<\/?*>)*?<\/H)\2(*>)/gim, '$1$2$3 $4$2$5');
loopcount++;
}
// Replace <H1>, ..., <H6> with wikified section headings
str = str.replace(/(^|)*<H1*>(*?)<\/H1*>*(|$)/gim, '$1=$2=$3');
str = str.replace(/(^|)*<H2*>(*?)<\/H2*>*(|$)/gim, '$1==$2==$3');
str = str.replace(/(^|)*<H3*>(*?)<\/H3*>*(|$)/gim, '$1===$2===$3');
str = str.replace(/(^|)*<H4*>(*?)<\/H4*>*(|$)/gim, '$1====$2====$3');
str = str.replace(/(^|)*<H5*>(*?)<\/H5*>*(|$)/gim, '$1=====$2=====$3');
str = str.replace(/(^|)*<H6*>(*?)<\/H6*>*(|$)/gim, '$1======$2======$3');
return str;
}
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.
**DISCLAIMER** We are not affiliated with Wikipedia, and Cloudflare.
The information presented on this site is for general informational purposes only and does not constitute medical advice.
You should always have a personal consultation with a healthcare professional before making changes to your diet, medication, or exercise routine.
AI helps with the correspondence in our chat.
We participate in an affiliate program. If you buy something through a link, we may earn a commission 💕
↑