php 替换所有重复的字符,php – 用不同的值替换多次出现的字符串

我有一个脚本生成包含某些令牌的内容,我需要替换每个出现的令牌,其中不同的内容来自单独的循环.

使用str_replace将所有出现的令牌替换为相同的内容很简单,但我需要用循环的下一个结果替换每个出现.

但它是从预定义的数组工作,我没有.

示例内容:

This is an example of %%token%% that might contain multiple instances of a particular

%%token%%, that need to each be replaced with a different piece of %%token%% generated

elsewhere.

为了参数,我需要用生成的内容替换每次出现的%% token %%,这个简单的循环:

for($i=0;$i<3;$i++){

$token = rand(100,10000);

}

因此,使用不同的随机数值$token替换每个%%标记%%.

这个简单的东西,我只是没有看到?

谢谢!

解决方法:

我不认为你可以使用任何搜索和替换功能来执行此操作,因此您必须自己编写替换代码.

在我看来,这个问题适用于explode().因此,使用您提供的示例令牌生成器,解决方案如下所示:

$shrapnel = explode('%%token%%', $str);

$newStr = '';

for ($i = 0; $i < count($shrapnel); ++$i) {

// The last piece of the string has no token after it, so we special-case it

if ($i == count($shrapnel) - 1)

$newStr .= $shrapnel[$i];

else

$newStr .= $shrapnel[$i] . rand(100,10000);

}

标签:str-replace,php,string,replace

来源: https://codeday.me/bug/20190729/1576638.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值