0

我需要一个项目的模板引擎,它解析 sgml-content 并转换用户定义的标签,如<ext:grid />. 几乎在所有情况下,输入内容都是有效的。一个常见的问题是链接生成器。链接生成器生成&而不是生成&amp;我的解析问题的主要原因。我无法更改此行为,因为该生成器的输出用于许多其他需要链接具有&而不是&amp;.

我尝试过 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>
4

2 回答 2

1

&您可以&amp;在尝试解析文档之前搜索替换您的内容吗?


编辑:为了完整起见,例如QueryPath可以处理无效标签

根据上面链接的线程,libxml 函数应该也可以工作。

于 2012-10-24T14:14:52.533 回答
0

如果可以,请尝试将 cdata 与 xml 一起使用。

<![CDATA[your content]]>

http://www.w3schools.com/xml/xml_cdata.asp

于 2012-10-24T14:09:03.277 回答