我有一个像
这样的字符串 test [test id="123" /] test [test id="234" /] [test id="345" /] test
如何用其他内容替换每个[test ... /]
,但是控制每个替换(按索引)?
我可能希望第一场比赛被替换为某些东西,但第二场比赛用其他东西替换
答案 0 :(得分:2)
听起来像你想要preg_replace_callback()
。
$index = 0;
preg_replace_callback('/\[test\sid="(?P<id>.+?)"\s*\/\]/', function() use (&$index) {
var_dump($index, func_get_args());
$index++;
}, $str);
您可以访问$index
以确定您所在的替代品的迭代次数。