最近,我一直忙于一些PHP框架 - 顺便说一句,完全不在话题中。无论如何,我想用C++解析特定的html /模板文件(不要问我为什么,这只是因为我想用C++编写它)。除此之外,它实际上可能是我用C++编写的第一个有用的东西。用C++解析模板文件
无论如何,回到这个问题,想象我有类似如下的文件:
<table>
<tr>
<th>ID</th>
<th>Title</th>
<th>Actions</th>
</tr>
{foreach from="$pages => $page"}
<tr>
<td>{$page.Id()}</td>
<td>{$page.Title()}</td>
<td><a href="page/edit/{$page.Id()}/">Edit</a> | <a href="page/delete/{$page.Id()}/">Delete</a></td>
</tr>
{foreachelse}
<tr>
<td colspan="3">There are no pages to be displayed</td>
</tr>
{/foreach}
</table>
和输出应该是:
<table>
<tr>
<th>ID</th>
<th>Title</th>
<th>Actions</th>
</tr>
<?php if(count($pages) > 0): ?>
<?php foreach($pages as $page): ?>
<tr>
<td><?php echo $page->getId(); ?></td>
<td><?php echo $page->getTitle(); ?></td>
<td><a href="page/edit/<?php echo $page->getId(); ?>/">Edit</a> | <a href="page/delete/<?php echo $page->getId(); ?>/">Delete</a></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="3">There are no pages to be displayed</td>
</tr>
<?php endif; ?>
</table>
为什么我这样做可能不这对你来说是完全清楚的,但它仍然是一个问题,在任何情况下都适用于其他地方。
无论如何,需要在输出文件中进行一些正向和反向查找和修改。这个问题的正确方法是什么?
为什么不直接用纯PHP写网站? – Puppy 2010-12-08 20:34:56
这不是我想要的;)。这是因为我想编写C++。你会发现,PHP变得迟钝,C++比较困难,编写这样的解析器比用普通的PHP编写更困难。 – Machiel 2010-12-08 20:42:19
我总是很欣赏有人喜欢挑战;)。 – andand 2010-12-08 20:51:17