דף הבית
אקראי
כניסה לחשבון
הגדרות
אודות חב"דפדיה
חב"דפדיה
חיפוש
עריכת הדף "
יחידה:Escape
"
אזהרה:
אינכם מחוברים לחשבון. כתובת ה־IP שלכם תוצג בפומבי אם תבצעו עריכות כלשהן. אם
תיכנסו לחשבון
או
תיצרו חשבון
, העריכות שלכם תיוחסנה לשם המשתמש שלכם ותקבלו גם יתרונות אחרים.
בדיקת אנטי־ספאם.
אין
למלא שדה זה!
local escape = { char = function(self, chr, args) args = args or {} local safe = args.safeChr or string.char(13) chr = tostring(chr or '\\') self[1] = ('%s0%%s%s'):format( ('%x%s%s'):format(chr:byte(), safe, safe), ('%s%x'):format(safe, chr:byte()) ) if not self[self[1]] then self[self[1]] = { char = chr, text = ('%s(.)'):format(chr), undo = self[1]:format'(%d+)' } end return args.text and self:text(args.text) or args.undo and self:undo(args.undo, chr) or args.kill and self:kill(args.kill) or self end, exec = function(self, text, mode, newEscape) local target = self[self[1] or self:char() and self[1]] for v in text:gfind(target[mode]) do text = text:gsub( mode == 'text' and ('%s%s'):format(target.char, v:gsub('%W', '%%%1')) or self[1]:format(v), mode == 'text' and self[1]:format(v:byte()) or (newEscape or '') .. v:char() ) end return text end, text = function(self, text) return self:exec(type(text) == 'table' and text[1] or text, 'text') end, undo = function(self, text, newEscape) if type(text) == 'table' then text, newEscape = unpack(text) end return self:exec(text, 'undo', newEscape) end, kill = function(self, text, chars, newEscape) if type(text) == 'table' then text, chars, newEscape = unpack(text) end return self:undo(self:text(text):gsub(chars or '', ''), newEscape) end } function escape.main(frame) local args, family = {}, {frame:getParent(), frame} for f = 1, 2 do for k, v in pairs(family[f] and family[f].args or {}) do args[k] = args[k] or v:match('^%s*(.-)%s*$') end end if args.mode == 'char' then return escape:char(args.char or args[2], args) end return escape[args.mode](escape:char(args.char), args) end return escape
תקציר
?
לתשומת ליבך: תרומתך לאתר חב"דפדיה תפורסם לפי תנאי הרישיון GNU Free Documentation License 1.2 (אפשר לעיין בדף
חב"דפדיה:זכויות יוצרים
לפרטים נוספים). אם אינך רוצה שעבודתך תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כול, ושאחרים יוכלו להעתיק ממנה תוך ציון המקור – אין לפרסם אותה פה.
כמו־כן, שמירת העריכה משמעה הבטחה שכתבת את הטקסט הזה בעצמך או העתקת אותו ממקור בנחלת הכלל (שאינו מוגבל בזכויות יוצרים) או מקור חופשי דומה.
אין לשלוח חומר מוגבל בזכויות יוצרים ללא רשות!
ביטול
עזרה בעריכה
(נפתח בחלון חדש)
הדף הבא מוכלל בדף זה:
יחידה:Escape/תיעוד
(
עריכה
)