我有一个字符串,其中包含纯文本“[var-X]”的各种实例,其中 X 可以是任何正整数。我不知道在任何给定脚本中 X 可以达到多高(但是如果需要,我可以得到它)。
这些 [var-X] 中的每一个都必须由不同的字符串进行评估和替换。不同字符串的值取决于我解析没有问题的外部 xml 文件。
所以,我的问题是,我该如何从
$str = "Hey I am some text,[var-1] a lot of these [var-3] parts will have to [var-9] go away and
be exchanged [var-2] by others";
加(假设这些东西在一个更大的 xml 中)
(some xml...)
<Variation id="1">really</Variation>
<Variation id="2">quickly</Variation>
<Variation id="3">strange</Variation>
(some other xml...)
<Variation id="9">definitely</Variation>
(more xml...)
至
$str = "Hey, I am some text, really a lot of these strange parts will have to definitely go away
and be exchanged quickly by others";
最好的方法是先遍历我的 xml,找出整数有多高,然后再用字符串上的 strpos 进行迭代?
我该如何处理我可能会找到 [var-7] 和 [var-72] 的事实(事先不知道数字的长度)?
这可以用正则表达式来完成吗(假设一旦我有“[var-7]”和“7”作为整数,我仍然需要处理一些东西来知道用什么代替它)?
我希望这个问题很清楚。我的不确定性主要是关于最好的方法,因为我可能能够拼凑出一些东西,但它可能是缓慢而丑陋的。