如何解析模版中循环部分
我现在需要用java解析一个php的模版, 其中循环部分如:
{?section name=i loop=$indexrows?} {?if $indexrows[i].ctype == "volume"?} <tr> <td colspan="4" class="vcss"> {?if $indexrows[i].vname == ""?} {?else?} {?$indexrows[i].vname?} {?/if?} [<a href="###">xxxx</a>] </td> </tr> {?else?} <tr> <td class="ccss"> {?if $indexrows[i].cname1 == ""?} {?else?} <a href="{?$indexrows[i].curl1?}">{?$indexrows[i].cname1?}</a> {?/if?} </td> <td class="ccss"> {?if $indexrows[i].cname2 == ""?} {?else?} <a href="{?$indexrows[i].curl2?}">{?$indexrows[i].cname2?}</a> {?/if?} </td> <td class="ccss"> {?if $indexrows[i].cname3 == ""?} {?else?} <a href="{?$indexrows[i].curl3?}">{?$indexrows[i].cname3?}</a> {?/if?} </td> <td class="ccss"> {?if $indexrows[i].cname4 == ""?} {?else?} <a href="{?$indexrows[i].curl4?}">{?$indexrows[i].cname4?}</a> {?/if?} </td> </tr> {?/if?} {?/section?}
请教下,有没有什么好的解析办法, 之前我是硬解析, 但是兼容性很差, 模版只要换个方式就得改代码, 有没有什么办法能比较弹性的解析此模版?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
额, 没这么大, 只是用java解析php的模版, 生成静态页
这么浩大的工程,莫非是想把php转java?
我把它分成两段, 用正则做了, 虽然有点不好, 但也算是解决了, 兼容性也还行。
用antrl肯定成,不过估计需要1个月时间
其他想不到什么好办法