如何解析模版中循环部分

发布于 2021-11-23 06:40:20 字数 1491 浏览 459 评论 4

@闲.大赋

我现在需要用java解析一个php的模版, 其中循环部分如:

{?section name=i loop=$indexrows?}
  {?if $indexrows[i].ctype == "volume"?}
  <tr>
    <td colspan="4" class="vcss">
	{?if $indexrows[i].vname == ""?}
    &nbsp;   
    {?else?}
    {?$indexrows[i].vname?}
    {?/if?}
	[<a href="###">xxxx</a>]
	</td>
  </tr>
  {?else?}
  <tr>
    <td class="ccss">
	{?if $indexrows[i].cname1 == ""?}
    &nbsp;   
    {?else?}
    <a href="{?$indexrows[i].curl1?}">{?$indexrows[i].cname1?}</a>
    {?/if?}
	</td>
    <td class="ccss">
	{?if $indexrows[i].cname2 == ""?}
    &nbsp;   
    {?else?}
    <a href="{?$indexrows[i].curl2?}">{?$indexrows[i].cname2?}</a>
    {?/if?}
    </td>
    <td class="ccss">
	{?if $indexrows[i].cname3 == ""?}
    &nbsp;   
    {?else?}
    <a href="{?$indexrows[i].curl3?}">{?$indexrows[i].cname3?}</a>
    {?/if?}
    </td>
	<td class="ccss">
	{?if $indexrows[i].cname4 == ""?}
    &nbsp;   
    {?else?}
    <a href="{?$indexrows[i].curl4?}">{?$indexrows[i].cname4?}</a>
    {?/if?}
    </td>
  </tr>
  {?/if?}
  {?/section?}



请教下,有没有什么好的解析办法, 之前我是硬解析, 但是兼容性很差, 模版只要换个方式就得改代码, 有没有什么办法能比较弹性的解析此模版?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

南冥有猫 2021-11-28 07:43:00

额, 没这么大, 只是用java解析php的模版, 生成静态页

猫烠⑼条掵仅有一顆心 2021-11-28 04:41:31

这么浩大的工程,莫非是想把php转java?

苍暮颜 2021-11-28 02:54:40

我把它分成两段, 用正则做了, 虽然有点不好, 但也算是解决了, 兼容性也还行。

嘦怹 2021-11-27 17:49:23

用antrl肯定成,不过估计需要1个月时间

其他想不到什么好办法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文