پرش به محتوا

مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js: تفاوت میان نسخه‌ها

(خنثی‌سازی ویرایش 1634 از Nazarzadeh (بحث))
برچسب: خنثی‌سازی
خط ۳۹: خط ۳۹:
.replace(/([\w])[\u200B-\u200D\uFEFF]/g, '$1')
.replace(/([\w])[\u200B-\u200D\uFEFF]/g, '$1')
// Clean ZWNJs before and after Persian characters
// Clean ZWNJs before and after Persian characters
.replace(new RegExp('\[\\u200b\-\\u200d\\uFEFF\]([' + vowels + arabicIndicDigits + persianDigits + hamza+'])','g'), '$1')
.replace(new RegExp('\[\\u200b\-\\u200d\\uFEFF\]([' + vowels + arabicIndicDigits + persianDigits + hamza + '])','g'), '$1')
.replace(new RegExp('(['+arabicIndicDigits+'])\[\\u200b\-\\u200d\\uFEFF\]','g'), '$1')
.replace(new RegExp('(['+arabicIndicDigits+'])\[\\u200b\-\\u200d\\uFEFF\]','g'), '$1')
// Clean ZWNJs after and before punctuation
// Clean ZWNJs after and before punctuation
خط ۱۵۲: خط ۱۵۲:
// جایگزینی ۀ غیراستاندار+حرف بعدی بدون فاصله به ه+همزه+فاصله
// جایگزینی ۀ غیراستاندار+حرف بعدی بدون فاصله به ه+همزه+فاصله
.replace(/[ۂۀ](?![\s\n])/g, 'هٔ ')
.replace(/[ۂۀ](?![\s\n])/g, 'هٔ ')
// Replace ه followed by ARABIC LETTER HIGH HAMZA with the correct one, ARABIC HAMZA ABOVE
.replace(/هٴ([\s\n])/g, 'هٔ$1')
// Replace ه followed by (space|ZWNJ|lrm) follow by ی with هٔ
// Replace ه followed by (space|ZWNJ|lrm) follow by ی with هٔ
.replace(/ه[\u200c\u200e\s]+ی([\s\n])/g, 'هٔ$1')
.replace(/ه[\u200c\u200e\s]+ی([\s\n])/g, 'هٔ$1')
خط ۱۷۴: خط ۱۷۶:
.replace(/ و یا /g, ' یا ')// replace «و یا» with «یا»
.replace(/ و یا /g, ' یا ')// replace «و یا» with «یا»
//افزودن همزه
//افزودن همزه
//.replace(/درباره (ام|ات|اش|مان|تان|شان|ای)(\s|$)/g, 'درباره‌$1$2')//i برای جلوگیری از باگ احتمالی برای افزودن همزه به درباره
.replace(/درباره (ام|ات|اش|مان|تان|شان|ای)(\s|$)/g, 'درباره‌$1$2')//i برای جلوگیری از باگ احتمالی برای افزودن همزه به درباره
//.replace(/درباره /g, 'دربارهٔ ')
.replace(/درباره /g, 'دربارهٔ ')
//.replace(new RegExp('صفحه(\\s|)(['+persianDigits+']+)(\\n|\\.|\\,|\\||\\<)', 'g'), 'صفحهٔ $2$3');//[[Special:PermaLink/15326391#افزودن همزه]]
.replace(new RegExp('صفحه(\\s|)(['+persianDigits+']+)(\\n|\\.|\\,|\\||\\<)', 'g'), 'صفحهٔ $2$3');//[[Special:PermaLink/15326391#افزودن همزه]]
}
}


خط ۳۱۶: خط ۳۱۸:
'$1$2\u200c$3$4$5'
'$1$2\u200c$3$4$5'
)
)
// ماضی نقلی (است حذف شد)
// ماضی نقلی
.replace(
.replace(
new RegExp('(^|[^' + persianCharacters + '])(ن|)' + persianPastVerbs +
new RegExp('(^|[^' + persianCharacters + '])(ن|)' + persianPastVerbs +
'ه (ام|ای|ایم|اید|اند)($|[^' + persianCharacters + '])', 'g'),
'ه (ام|ای|ایم|اید|اند|است)($|[^' + persianCharacters + '])', 'g'),
'$1$2$3ه\u200c$4$5'
'$1$2$3ه\u200c$4$5'
)
)
خط ۳۷۰: خط ۳۷۲:
.replace(/ویکیپدیا/g, 'ویکی‌پدیا')
.replace(/ویکیپدیا/g, 'ویکی‌پدیا')
.replace(new RegExp('می\u200cگوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میگوی$1') // for میگوی دریایی
.replace(new RegExp('می\u200cگوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میگوی$1') // for میگوی دریایی
.replace(new RegExp('می\u200cدوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میدوی$1')// for [[میدوی (ابهام‌زدایی)]]
.replace(new RegExp('می\u200cدوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میدوی$1');// for [[میدوی (ابهام‌زدایی)]]
;
}
}


خط ۴۳۱: خط ۴۳۲:
.replace(new RegExp('([' + persianCharacters + '])(\\s|)[\\.،؛](\\s|)(\\))', 'g'), '$1$2$3$4')
.replace(new RegExp('([' + persianCharacters + '])(\\s|)[\\.،؛](\\s|)(\\))', 'g'), '$1$2$3$4')
// در صورت وابستگی معنی جملات بهتر است نقطه‌ویرگول فارسی قرار گیرد
// در صورت وابستگی معنی جملات بهتر است نقطه‌ویرگول فارسی قرار گیرد
.replace(new RegExp('([' + persianCharacters + '])(\\s|)(\\.)(\\s|)(ولی|که\\s|و\\s|بنابراین|لذا)', 'g'), '$1؛ $5')
.replace(new RegExp('([' + persianCharacters + '])(\\s|)(\\.)(\\s|)(مثلاً|فرضاً|زیرا|یعنی|بنابراین|لذا)', 'g'), '$1؛ $5')
/// Question & exclamation mark
/// Question & exclamation mark
// علامت تعجب تکراری به دلیل وجود !! در عنوان جدول‌های مدیاویکی نباید اصلاح شود.
// علامت تعجب تکراری به دلیل وجود !! در عنوان جدول‌های مدیاویکی نباید اصلاح شود.
خط ۴۴۶: خط ۴۴۷:
.replace(/(\(|)ه‍\. (ق|خ|ش)([\n\/ ]|\))/g, 'ه‍.$2$3')//iاصلاح تاریخ هجری
.replace(/(\(|)ه‍\. (ق|خ|ش)([\n\/ ]|\))/g, 'ه‍.$2$3')//iاصلاح تاریخ هجری
// حذف فاصلهٔ میان دو عبارت مختصر که دارای نقطهٔ اختصار باشند
// حذف فاصلهٔ میان دو عبارت مختصر که دارای نقطهٔ اختصار باشند
.replace(new RegExp('(\^|\\||\\(|«|\\}|"|\\s|\\*|\\#)(([' + persianCharacters + ']\{1,2\})\\. \?)\{2,6\}', 'g'), function (m) { return m.replace(/\. (.)/g, '.$1'); })
.replace(new RegExp('(\^|\\||\\(|«|\\}|"|\\s|\\*|\\#)(([' + persianCharacters + ']\{1,2\})\\. \?)\{2,6\}', 'g'), function (m) { return m.replace(/\. (.)/g, '.$1'); });
//ویکی پاسخ
.replace(/به\[\[/g, 'به [[')
.replace(/ \(ع\)/g, '(ع)')
.replace(/ \(ص\)/g, '(ص)')
.replace(/ \(س\)/g, '(س)')
.replace(/ \(عج\)/g, '(عج)');
}
}
return {
return {
کاربر ناشناس