עריכת הדף "
יחידה:MultiReplace
"
קפיצה לניווט
קפיצה לחיפוש
אזהרה:
אינכם מחוברים לחשבון. כתובת ה־IP שלכם תוצג בפומבי אם תבצעו עריכות כלשהן. אם
תיכנסו לחשבון
או
תיצרו חשבון
, העריכות שלכם תיוחסנה לשם המשתמש שלכם ותקבלו גם יתרונות אחרים.
בדיקת אנטי־ספאם.
אין
למלא שדה זה!
p = {} local function MultiReplace(args) local input = args[1] or "{{{1}}}" local plain = args.plain == "yes" local i = 1 local changeList = {} while args[i * 2] do local change = {pattern = args[i * 2], repl = args[i * 2 + 1]} if not change.repl then return require('Module:Error').error{ 'MultiReplace: Unpaired argument: <code>' .. (i * 2) .. ' = ' .. change.pattern .. '</code>' } end changeList[i] = change i = i + 1 end local matchList = {} local pos = 1 local len = mw.ustring.len(input) local result = "" while pos <= len do local bestStart = len + 1 local bestStop = len local bestChange for _, change in ipairs(changeList) do local start, stop = mw.ustring.find(input, change.pattern, pos, plain) if start and (start < bestStart) then bestStart = start bestStop = stop bestChange = change end end result = result .. mw.ustring.sub(input, pos, bestStart - 1) if bestChange then local fragment = mw.ustring.sub(input, bestStart, bestStop) result = result .. (plain and bestChange.repl or mw.ustring.gsub(fragment, bestChange.pattern, bestChange.repl, 1)) end pos = bestStop + 1 end return result end function p.main(frame, ...) local args = type(frame) ~= 'table' and {frame, ...} or type(frame.args) ~= 'table' and frame or frame.args[1] and frame.args or frame:getParent().args return MultiReplace(args) end return p
תקציר:
לתשומת ליבך: תרומתך לאתר חב"דטקסט תפורסם לפי תנאי הרישיון רישיון חופשי למסמכים של גנו גרסה 1.3 או חדשה יותר (אפשר לעיין בדף
חב"דטקסט:זכויות יוצרים
לפרטים נוספים). אם אינך רוצה שעבודתך תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כול, ושאחרים יוכלו להעתיק ממנה תוך ציון המקור – אין לפרסם אותה פה.
כמו־כן, שמירת העריכה משמעה הבטחה שכתבת את הטקסט הזה בעצמך או העתקת אותו ממקור בנחלת הכלל (שאינו מוגבל בזכויות יוצרים) או מקור חופשי דומה.
אין לשלוח חומר מוגבל בזכויות יוצרים ללא רשות!
ביטול
עזרה בעריכה
(נפתח בחלון חדש)
תבנית המופיעה בדף זה:
יחידה:MultiReplace/תיעוד
(
עריכה
)
תפריט ניווט
כלים אישיים
לא בחשבון
שיחה
תרומות
יצירת חשבון
כניסה לחשבון
מרחבי שם
יחידה
שיחה
English
צפיות
קריאה
עריכת קוד מקור
גרסאות קודמות
עוד
ניווט
עמוד ראשי
ספריה ראשית
חיפוש נכון
דף אקראי
דיווח על טעות
עזרה
עורכים
ברוכים הבאים
פרוייקט החממה
שינויים אחרונים
אולם דיונים
לוח מודעות
תחזוקה
זכויות יוצרים
כלים
דפים המקושרים לכאן
שינויים בדפים המקושרים
דפים מיוחדים
מידע על הדף