我需要一个项目的模板引擎,它解析sgml-content并转换用户定义的标签,如<ext:grid />
。几乎在每种情况下,输入内容都是有效的。常见的问题是链路生成器。链接生成器生成&
而不是&
,这是我解析问题的主要原因。我无法更改此行为,因为该生成器的输出用于许多其他情况,其中链接需要&
而不是&
。
我尝试过DOMDocument,SimpleXML和xml_parser。他们都退出了实体问题。有任何想法吗?我想要的只是,这个“问题”被解析器简单地忽略了。
测试模板在哪里:
<template xmlns:grid="templates/grid" xmlns:std="templates/std">
<std:header text="Overview" type="h1" />
<grid:base width="100%">
<grid:columns>
<grid:body>
<?php foreach($products as $product): /* @var $product Dfm_Shop_Model_Product */ ?>
<grid:row selectable="1">
<grid:cell>
<div><?php echo $this->esc($product->getTitle()) ?></div>
</grid:cell>
<grid:cell>
<a href="<?php env()->http()->to(array('controller' => 'Dfm_Shop_Controller_Products', 'method' => 'showEdit')) ?>"><std:img src="icons/pencil.png" hint="Edit" /></a>
</grid:cell>
</grid:row>
<?php endforeach ?>
</grid:body>
</grid:base>
</template>
答案 0 :(得分:1)
在尝试解析文档之前,您是否可以将&
替换为&
?
编辑:只是为了完整性添加,例如QueryPath也是can handle invalid tags。
根据上面链接的线程,libxml函数应该也可以工作。
答案 1 :(得分:0)