最近,我一直忙於一些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