我可以动态替换呈现的HTML页面中的占位符文本吗?

时间:2013-05-07 00:02:16

标签: html variables dynamic replace

我希望我能想出一个更好的方式来表达我的问题,但基本上这就是我想要做的事情:在HTML文件中,我想多次用特定的字符串填充正文。例如:

<div>
    This is some content. XXX
</div>
<div>
    This is some more content. XXX
</div>
<div>
    This is even more content. XXX
</div>

然后,我想要一些脚本遍历页面,并用一个递增的数字替换字符串的每个实例(在本例中为XXX,但它可以是任何东西),如:

<div>
    This is some content. 001
</div>
<div>
    This is some more content. 002
</div>
<div>
    This is even more content. 003
</div>

这当然是一个简单的例子,你可能会认为这很愚蠢,只需键入数字即可。但显然这比我打算做的更简单,而且现在正在构建的内容,所有内容的顺序还没有确定,所以事情可能会在页面上的位置上下移动,但是我希望所有数字按顺序排列在页面上。

所以,最后的想法:我非常确定有一种更好的方法来做到这一点,而不是我想到的,方法明智的(即制作XML表格或其他东西)。我绝对愿意接受有关如何做到这一点的任何建议,但我是一个白痴,所以如果你的答案是“pff这将是非常容易在Ruby中使用Ruby”,这不会真正让我到达我需要的地方。此外,如果已经回答了这个问题,很难想到如何用问题来搜索以前的答案,所以如果我在搜索时没有找到预先存在的答案,我会提前道歉。

2 个答案:

答案 0 :(得分:4)

您可以使用CSS计数器sample here轻松完成此操作:

CSS

ul {
    counter-reset:list;
}
li:after {
    counter-increment:list;
    content: " (" counter(list) ")";
}

有关更高级的示例,请访问MDN documentation page

答案 1 :(得分:1)

您可以使用PHP来实现此目的。如果您没有使用它的经验,它可以轻松地与HTML集成。基本上你像往常一样编写你的html,但你将文件命名为.php而不是.html。然后按如下方式插入php脚本,例如:<p>I can count to <?php nextNumber(); ?></p>

在页面顶部,您应该插入更多带有计数器功能的脚本:

<?php
$i = 1;
$places = 4;
function nextNumber() {
   GLOBAL $i, $places;
   print str_pad($i++,$places,'0',STR_PAD_LEFT);
}
?>

这可能比CSS更好。它不依赖于浏览器。

将$ places更改为您想要的位数(对于前导零)