模板拼装最简单处理 字符串拼接版本

本文介绍了一个用JavaScript编写的HTML模板引擎解析器,该解析器能够将HTML字符串转换为JavaScript数组,便于动态渲染页面内容。解析过程包括去除特殊字符、拆分HTML行并处理模板标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var html_line = html.replace(/[\r\t\n]+/g, "\n").split(/\n/)
var tpl = `var _h = []`
var _begin = '<?' , _end = '?>'
,_is = true
html_line.forEach(function(line){

while(true){
var _pos = line.indexOf(_is ? _begin : _end)
if (_pos !== -1){
var _part = line.slice(0 ,_pos )

line = line.slice(_pos + 2 )
if (_is) {
_part = _part.replace(/\"/g,`\\\"`)
if (_part.length) {
tpl += ` _h.push( "${_part}");`
}
} else {
if ('=' == _part.slice(0,1)) {
_part = _part.slice(1)
tpl += ` _h.push( ${_part});`
}else{
tpl += ` ${_part}`
}
}

}else {
if (_is) {
line = line.replace(/\"/g,`\\\"`)
if (line.length) {
tpl += ` _h.push( "${line}");`
}
} else {
tpl += ` ${line}`
}
break
}
_is = !_is
}

})
tpl += '\n return _h.join("")'

转载于:https://www.cnblogs.com/vaal-water/p/5602201.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值