User:Omegatron/monobook.js/mathcharacterfixer.js

In today's world, User:Omegatron/monobook.js/mathcharacterfixer.js has captured the attention of millions of people around the world. Whether due to its impact on society, its relevance in the professional field or its influence internationally, User:Omegatron/monobook.js/mathcharacterfixer.js has become an essential topic of conversation today. From its origins to its evolution today, User:Omegatron/monobook.js/mathcharacterfixer.js has played a key role in the lives of countless individuals. In this article, we will explore in detail the importance and impact of User:Omegatron/monobook.js/mathcharacterfixer.js in different contexts, with the aim of providing a broader perspective on this topic that is so relevant today.
/* <pre><nowiki> */

function mathfixer() {
    var txt = document.editform.wpTextbox1;

    // Convert minus sign HTML entities into actual minus signs (overlaps with dashfixer.js)
    txt.value = txt.value.replace(/(&#x2212;|&#8722;|&minus;)/g, '−');

    // Convert times sign HTML entities into actual times signs
    txt.value = txt.value.replace(/(&#x00D7;|&#215;|&times;)/g, '×');

    // Convert plusorminus sign HTML entities into actual plusorminus signs
    txt.value = txt.value.replace(/(&#x00B1;|&#177;|&plusmn;)/g, '±');

    // Convert hyphen next to a number into a minus sign character
    txt.value = txt.value.replace(/()-(\d)/g, '$1−$2');

    // Changes 2x3 to 2×3
    txt.value = txt.value.replace(/(\d\s?)x(\s?\d)/g, '$1×$2');

    // Changes 10^3 to 10<sup>3</sup>
//    txt.value = txt.value.replace(/(\d+)\^(\d+)/g, '$1<sup>$2</sup>');
    
    // Changes x^3 to x<sup>3</sup>
    txt.value = txt.value.replace(/()\^(\d+)/g, '$1<sup>$2</sup>');

    // Changes <sup> tags inside <math> tags back into carets
    // (don't know of a way to exclude them from the above statement)
    txt.value = txt.value.replace(/<math>(.*)<sup>(\d+)<\/sup>(.*)<\/math>/g, '<math>$1^$2$3</math>');

    // Changes 2 +/- 3 to 2±3
    txt.value = txt.value.replace(/(\s|\d)\+\/?(-|−|-)(\s|\d)/g, '$1±$3');

    // Add a tag to the summary box
    var txt = document.editform.wpSummary;
    var summary = "]";
	if (txt.value.indexOf(summary) == -1) {
		if (txt.value.match(/?\s*$/)) {
			txt.value += " | ";
		}
		txt.value += summary;
	}

    // Press the diff button to check it
    document.editform.wpDiff.click()
}

addOnloadHook(function () {
    if(document.forms.editform) {
        mw.util.addPortletLink('p-cactions', 'javascript:mathfixer()', '±', 'ca-mathfixer', 'Fixes some math characters', '', '');
    }
});

/* </nowiki></pre> */