public/plugins/jquery/jquery.laytpl.js
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
(function (window, $) {
"use strict";
var config = {
open: '{{',
close: '}}'
};
var tool = {
exp: function (str) {
return new RegExp(str, 'g');
},
//匹配满足规则内容
query: function (type, _, __) {
var types = [
'#([\\s\\S])+?', //js语句
'([^{#}])*?' //普通字段
][type || 0];
return exp((_ || '') + config.open + types + config.close + (__ || ''));
},
escape: function (html) {
return String(html || '').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&')
.replace(/</g, '<').replace(/>/g, '>').replace(/'/g, ''').replace(/"/g, '"');
},
error: function (e, tplog) {
var error = 'Laytpl Error:';
typeof console === 'object' && console.error(error + e + '\n' + (tplog || ''));
return error + e;
}
};
var exp = tool.exp, Tpl = function (tpl) {
this.tpl = tpl;
};
Tpl.pt = Tpl.prototype;
window.errors = 0;
//编译模版
Tpl.pt.parse = function (tpl, data) {
var that = this, tplog = tpl;
var jss = exp('^' + config.open + '#', ''), jsse = exp(config.close + '$', '');
tpl = tpl.replace(/\s+|\r|\t|\n/g, ' ')
.replace(exp(config.open + '#'), config.open + '# ')
.replace(exp(config.close + '}'), '} ' + config.close).replace(/\\/g, '\\\\')
//不匹配指定区域的内容
.replace(exp(config.open + '!(.+?)!' + config.close), function (str) {
str = str.replace(exp('^' + config.open + '!'), '')
.replace(exp('!' + config.close), '')
.replace(exp(config.open + '|' + config.close), function (tag) {
return tag.replace(/(.)/g, '\\$1')
});
return str
})
//匹配JS规则内容
.replace(/(?="|')/g, '\\').replace(tool.query(), function (str) {
后面还有 67 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。