在字符串中,我有以下子串的出现(可以是唯一的或重复的)
CX0001 CX0001 CX0001 CX0002 CX0003 CX0123
我想要的是每次出现的CX *前面加上一个递增的数字,比如1200.所以,上面的内容变成
1201 CX0001 1202 CX0001 1203 CX0001 1204 CX0002 1205 CX0003 1206 CX0123
CX *字符串始终是包含6个字符的字母数字子字符串。可能会或可能不会在整个字符串中重复。
如何使用preg_replace_callback完成此操作还是有更好的方法吗?
答案 0 :(得分:0)
以下是一个例子:
<?php
$content = "this is some CX0001 to Check CX0001 and CX0001 or CX0002 CX0003 CX0003 for the CX0123 that we need CX0123 and CX0001 and see if the same works works";
$count = 1200;
function rep_count($matches) {
global $count;
return 'MARKER'.$count++.' '.'CX';
}
$content = preg_replace_callback('/CX/', 'rep_count', $content);
echo $content;
?>