Jump to content

User:Wikinaut/replace.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* Adds a "Replace" tab which pops up three prompt boxes:
   one for a regexp, 
   one for case-insensitive search (confirm) or case-sensitive (abort)
   and one for a replacement.
   Source http://en.wikipedia.org/wiki/Wikipedia:WikiProject_User_scripts/Scripts/Replace
*/
function wpTextboxReplace() {
    var s = prompt("Search regexp:");
    if(s){
        var ci = confirm("case insensitive search?");
        var cis = (ci) ? 'i':'';
        var cis2 = (ci) ? 'in':'';
        var r = prompt("Replace /"+s+"/ case-"+cis2+"sensitively with:");
        if(!r && r != '') return;
        var txt = document.editform.wpTextbox1;
        txt.value = txt.value.replace(new RegExp(s, "mg"+cis ), r);
    }
}
$(function () {
    if (document.forms.editform) {
        mw.util.addPortletLink('p-cactions', 'javascript:wpTextboxReplace()', 'Replace', 'ca-replace',
                       'Regexp replace for the edit window', 'R', document.getElementById('ca-history'));
    }
});