Php 在字符串中放置while循环

Php 在字符串中放置while循环,php,Php,我想创建一个函数,用户可以在其中创建自己的XML提要。例如,提要应该是以下(非常简单的示例)提要: 产品1 产品2 设置中非常重要的一点是数据库和设置提要之间存在连接,例如,从数据库加载。因此,用户应创建以下“文本/xml”作为基础: <xml> <products> %whileProducts% <product>%title%</product> %/whileProducts% </produc

我想创建一个函数,用户可以在其中创建自己的XML提要。例如,提要应该是以下(非常简单的示例)提要:


产品1
产品2
设置中非常重要的一点是数据库和设置提要之间存在连接,例如,从数据库加载。因此,用户应创建以下“文本/xml”作为基础:

<xml>
  <products>
    %whileProducts%
      <product>%title%</product>
    %/whileProducts%
  </products>
</xml>

%whileProducts%
%所有权%
%/whileProducts%

可以通过str_replace输入产品标题,但也可以通过replace函数创建while循环吗?更难的是:一个循环中可能有多个循环,例如,用户希望为产品创建一个带有while循环的提要,并在该循环中为产品的颜色和/或尺寸创建一个新循环。

不,不是
str_replace()
只能将一组常量字符串的文字替换为另一组相应的常量字符串;它不能做任何更复杂的事情


这里需要的是一个模板引擎。由于涉及XML,因此可能是一个合适的工具;但这并不简单。PHP还有许多其他模板引擎可用,推荐一个模板引擎超出了本问题的范围。

因此,您希望创建某种类型的令牌/密钥,以便在找到它时对其执行操作。像%whileProducts%意味着您的php将获得所有产品并将它们插入该位置?
<xml>
  <products>
    %whileProducts%
      <product>%title%</product>
    %/whileProducts%
  </products>
</xml>