用字符串中的相同/不同值替换相同的占位符+不同的占位符

时间:2014-08-04 00:15:16

标签: php replace

我不知道这是如何起作用的。首先,我有一个包含占位符的模板。这是模板的一部分。

<a>{nlink}</a>
<a>{nlink}</a>
<a>{nlink}</a>
<a>{nlink}</a>
<a>{nlink}</a>
<a>{nlink}</a>
<a>{nlink}</a>

<ul>
    <a href='#'>{ptitle}</a>
    <a href='#'>{nlink_cat}</a>
    <a href='#'>{cat_sel}</a>
    <br style='clear:both;' />
</ul>

我的问题是我想用我从数据库(类别)获得的值替换{nlink}占位符。其他占位符也将替换为db中的数据。有谁知道这是如何工作的?我只知道在使用strtr()时如何替换单个占位符。

问候

1 个答案:

答案 0 :(得分:0)

您可以逐个替换标记,以便与数据库中类别的循环中的每个值相对应。 Here's an example

$categories = array(
  'Apples',
  'Oranges',
  'Bananas',
  'Carrots',
  'Tangelos',
  'Tomatoes',
  'Raspberries'
);

foreach($categories as $category) {
    // Only replace the tag once (each time it repeats, the previous tag is gone
    // so we move on to the next one
    $html = preg_replace('/{nlink}/', $category, $html, 1);
}

echo $html;

输出:

<a>Apples</a>
<a>Oranges</a>
<a>Bananas</a>
<a>Carrots</a>
<a>Tangelos</a>
<a>Tomatoes</a>
<a>Raspberries</a>